違いPropTypes.elementとPropTypes.node

PropTypes.element:手段要素に反応、React.CreateElementの要素を生成し、すなわち、React.CreateElement JSX糖衣構文は、で表すことができます。

<MyButtonという色= "青" shadowSize = {2}> 
  ここをクリック
</ MyButtonという>

次のようにコンパイルされました:

React.createElement(
  MyButtonという、
  {色: '青'、shadowSize:2}、
  '私をクリック' 

したがってPropTypes.elementは、以下のタイプのものであってもよい:文字列|カラム固体成分(コンポーネントタグ、上記例えば<MyButtom>)

 

PropTypes.node:指React Node,任何可被渲染的元素,包括ReactChild | ReactFragment | ReactPortal | 字符串 | 数字 | 布尔值 | null | undefined | 数组;

 

神の答えからの抜粋:

引用@ferdaber:より多くの技術的な説明が有効なノードがReact.createElementによって返されるものと同じものではありません反応することがあります。かかわらず、コンポーネントのレンダリングが終わるものの、React.createElementは常にJSX.Elementインタフェースであるオブジェクトを返すが、React.ReactNodeは、成分のすべての可能な戻り値のセットです。

  • JSX.Element - React.createElementの>戻り値
  • React.ReactNode - コンポーネントの>戻り値

 

おすすめ

転載: www.cnblogs.com/94pm/p/11688918.html