验证作为道具传递的组件的最佳方法

时间:2017-10-10 01:35:54

标签: reactjs validation react-proptypes

除了Proptypes.func之外,验证将成为无状态组件的proptypes的最佳方法是什么?

假设我有一个NestedDashboardItem组件,它将作为道具接收Icon组件。我不想将它作为一个孩子传递并从props.children使用它,因为我有一些用例,如同传递子嵌套链接等数组一样过于苛刻。

考虑:

 <DashboardItem
     to="/route"
     icon={someIconComponent}
     text="sometext"
   />

并在DashboardItem定义中我想验证此图标道具

   const DashboardItem = ({ text, icon, to, classes }) => {
      const Icon = icon;
      return (
        <ListItem
          button
          component={Link}
          to={to}
          activeClassName="active"
          className={classes.root}
        >
          <ListItemIcon className={cx(classes.dashboardIcon_wrapper)}>
            <Icon className={cx(classes.icon)} />
          </ListItemIcon>
          <ListItemText primary={text} />
        </ListItem>
      );
    };

我使用PropTypes.element并抱怨,所以现在我问的是验证icon道具的最佳方式是什么,而不是PropTypes.func

1 个答案:

答案 0 :(得分:0)

没有更好的方法。使用PropTypes.func