Closed5
ft_transendenceメイン非公開記事: React v.17とv.18の差異
Chapter 10 [Reactとにかく書き始める: 実践編2💻]
children
プロパティーを使う
Propsの
children
とは
- ただし、TypeScriptでは、propsの型をinterfaceとして定義する必要があるので、
children
もそのままでは使えない
- 関数の型宣言を使って、Reactの関数コンポーネントであるということを明確化することで、
children
や他の既存のプロパティを使うことができるようになる
これはReact v.17の機能だったため、React v.18では使えなかった (参照>>>)
関数の型の宣言を使う (function type declaration)
TODO:
Reactの関数コンポーネントということを明示することで、Reactのコンポーネントのプロパティを使えるようにする
関数宣言(function文)をアロー関数に書き換える
- 関数の型宣言は関数宣言(function文) の型注釈には使えない 参考>>>
- 関数の型宣言は、アロー関数または関数式(function式) の型注釈にのみ使うことができるので、アロー関数に書き換える
components/StyledMessage.tsx
-function StyledMessage(props: MessageProps) {
+const StyledMessage = (props: MessageProps) => {
...
-}
+};
型注釈を加える
-
React.FC<propsのインターフェース名>
と型注釈を加えることで、関数がReactのコンポーネントとして認識され、children
などのプロパティーを有効化できる -
React.FC<propsのインターフェース名>
はReact.FunctionComponent<propsのインターフェース名>
の省略形である(どちらを使用しても同じ)
components/StyledMessage.tsx
-const StyledMessage = (props: MessageProps) => {
+const StyledMessage: React.FC<MessageProps> = (props) => {
このスクラップは2022/12/12にクローズされました