なにかお手伝いできることがあればご連絡ください。
    
      お問い合わせはこちらから
      
      
    
    
  
※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フォームが表示されます