私はSFCの宣言の2つの方法がこれらの2つです活字体と反応を見てきました:Typescriptを持つステートレス機能コンポーネントをReactに宣言するにはどうすればよいですか?
import * as React from 'react'
interface Props {
message: string
}
const Component = (props: Props) => {
const { message } = props
return (
<div>{message}</div>
)
}
export default Component
と:
import * as React from 'react'
interface Props {
message: string
}
const Component: React.StatelessComponent<Props> = props => {
const { message } = props
return (
<div>{message}</div>
)
}
export default Component
this questionから、私は第二の方法であなたが省略できていることがわかりあなたのコンポーネントでそれを使用している場合、あなたのインターフェースの子どもたち。
これ以上の違いはありますか?どちらが好ましいのでしょうかなぜ? React.StatelessComponent<T>
ため
、私がコンポーネントのプロパティにアクセスする必要があるか、それが子供の場合は、より便利な方法がStatelessComponentを使用することであり、そうでない場合と思われますどの人が気分が良いかを決めるのは私の責任ですよね?また、もし私が間違っているなら、 'React.StatelessComponent'を使っていれば私を修正してください。戻り値の型を明示的に指定する必要はありません。 –
'StatelessComponent'を自由に使うことができます。後でそのプロパティにアクセスする必要がある場合にのみ違いがあります。結果として得られるjsは、あなたが何をしているかに関係なく同じになるので、ここでは「より良い解決策」はありません。両方の場合に戻り値の型を明示的に宣言していない –
Ok、入力いただきありがとうございます! :) –