【问题标题】:Failed prop type: Component: prop type `props` is invalid;失败的道具类型:组件:道具类型`props`无效;
【发布时间】:2019-10-11 20:58:06
【问题描述】:

我收到警告为“警告:失败的道具类型:组件:道具类型props无效;它必须是一个函数,通常来自prop-types包,但收到object

我的代码是:

  const { history } = props.props
history.push('/next');

Component.propTypes = {
    props: {
        history: PropTypes.object,
    },
}

Component.defaultProps = {
    props: {
        history: PropTypes.object,
    },
}

我的功能运行正常,但出现此控制台错误有人可以帮我解决此警告吗?

【问题讨论】:

  • props.props 似乎有点混乱。有没有办法可以简单地将历史记录发送为props.history,或者这是我不知道的某种模式?谢谢!

标签: reactjs react-props react-proptypes


【解决方案1】:

您在propTypes 中使用{} 的值props,这是不允许的。你要shape:

Component.propTypes = {
  props: PropTypes.shape({
    history: PropTypes.object,
  }),
}

【讨论】:

  • 感谢您的回答。但是当我添加 .isRequired 时,警告显示为“警告:道具类型失败:道具propsComponent 中标记为必需,但其值为undefined”。
  • 如果你的所有功能都在那里,那么该值没有在某个地方定义,可能是在初始渲染时。
猜你喜欢
  • 2021-07-27
  • 2017-07-11
  • 2017-07-31
  • 1970-01-01
  • 1970-01-01
  • 2019-05-17
  • 2019-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多