なにかお手伝いできることがあればご連絡ください。
お問い合わせはこちらから
※Googleフォームが表示されます
React.FC
と利用する。
import React from "react";
const FunctionalComponent : React.FC = () => {
return <h1>Hello, world</h1>;
};
ジェネリクス型で定義する。
import React, {useState} from "react";
const FunctionalComponent : React.FC = () => {
const [status, setStatus] = useState<string>('text')
return <h1>{status}</h1>;
};
inputフィールドのonChangeで渡されるイベントオブジェクトの型はReact.ChangeEvent<HTMLInputElement>
を利用する。
...中略
const onChangeHandler = (e:React.ChangeEvent<HTMLInputElement>) => {
setInput(e.target.value)
}
return (
...中略
<input type="text" value={input} onChange={onChangeHandler} />
import React from "react";
const FunctionalComponent : React.FC = () => {
const [count, setCount] = useState(0)
const [input, setInput] = useState('')
useEffect(() => {
document.title = `${count}回クリックされました`
})
return (
<>
<input type=text value={input} onChange={(e) => setInput(e.target.value)}/>
<p>{`${count}回クリックされました`}</p>
</>
)
}
コンポーネントがアンマウント(削除)された場合の処理はuseEffect内でreturnする関数で定義する。
import React from "react";
const FunctionalComponent : React.FC = () => {
const [count, setCount] = useState(0)
useEffect(() => {
document.title = `${count}回クリックされました`
return () => {
// アンマウント時に実行されるcleanup処理
}
})
}
Reactとは直接関係ないですが、
非nullかつ非undefinedことが保証されている場合、コンパイラに伝えることでエラーを発生させない方法です。
const onChangeImageHandler = (e: React.ChangeEvent<HTMLInputElement>) => {
if(e.target.files![0]) {
setAvatarImage(e.target.files![0])
}
}
なにかお手伝いできることがあればご連絡ください。
※Googleフォームが表示されます