功能性无状态组件中的PropTypes

不使用类,如何在反应的功能性无状态组件中使用PropTypes?

export const Header = (props) => (
   <div>hi</div>
)
小卤蛋村村2020/03/12 20:18:11

官方的文档显示如何使用ES6组件类做到这一点,但同样适用于无状态的功能组件。

首先,npm install/ yarn add新的道具类型包装,如果你还没有准备好。

然后,在定义无状态功能组件之后,在导出之前,添加您的propTypes(如果需要,还可以使用defaultProps)。

import React from "react";
import PropTypes from "prop-types";

const Header = ({ name }) => <div>hi {name}</div>;

Header.propTypes = {
  name: PropTypes.string
};

// Same approach for defaultProps too
Header.defaultProps = {
  name: "Alan"
};

export default Header;