1)
typescript 적용
npx create-react-app ts-react-tutorial --template typescript
src/
Counter.tsx
import React, { useState } from 'react';
const Counter = () => {
const [ count, setCount ] = useState<number>(0);
const onIncrease = () => setCount(count+1);
const onDecrease = () => setCount(count-1);
return (
<div>
<h1>{count}</h1>
<div>
<button onClick={onIncrease}>+1</button>
<button onClick={onDecrease}>-1</button>
</div>
</div>
);
};
export default Counter;
MyForm.tsx
import React, { useState } from 'react';
const MyForm = () => {
const [ form, setForm ] = useState({
name: "",
description: ""
});
const { name, description } = form;
const onChange = (e:any) => {
const { name, value } = e.target;
setForm({
...form,
[name]: value
})
}
const handleSubmit = (e:any) => {
e.preventDefault();
setForm({
name: "",
description: ""
})
}
return (
<form onSubmit={handleSubmit}>
<input name='name' value={name} onChange={onChange}/>
<input name='description' value={description} onChange={onChange}/>
<button type="submit">등록</button>
</form>
);
};
export default MyForm;
'노력이 좋아서' 카테고리의 다른 글
<step89>'react_ts_userList' (0) | 2022.07.27 |
---|---|
<step89>'react_ts_counter, ReducerSample' (0) | 2022.07.27 |
<step88>'react_typescript_interface, keyof, Generic' (0) | 2022.07.26 |
<step88>'react_typescript_유니언, 인터섹션, 타입추론, 타입단언' (0) | 2022.07.26 |
<step88>'react_typescript_Tuple, Enum' (0) | 2022.07.26 |