【问题标题】:React Redux Invalid Prop suppliedReact Redux 提供了无效的 Prop
【发布时间】:2016-04-07 02:53:06
【问题描述】:

我现在的数据流是这样的,

BookContainer (Passes in props needed by book form, eg drop down selection options)
|_ BookModal (Handles the form submission)
   |_ CreateBookForm (Contains form tag and input fields, Dumb Component)

我面临的问题是当我的 BookModal 处理表单提交时,一切都顺利进行,但是我收到此错误 this.props.books.map is not a function。 books 道具是从BookContainer -> BookModal -> CreateBookForm 传入的,用于填充我必须从中选择的书。从CreateBookForm 提交表单后BookModal 的返回响应是请求成功还是失败的Promise。

我不确定我当前的传递数据流是否正确,但到目前为止所有数据都正确显示。只有在我提交表单后,我才会收到此错误。 我使用https://github.com/erikras/react-redux-universal-hot-example 作为我的样板。 任何建议或想法表示赞赏!谢谢。

【问题讨论】:

  • 如果浏览器说它不是一个函数 - 它不是一个函数。因此有一个建议:要么不调用它,要么传递一个正确的数组(或具有.map() 方法的东西)。
  • 问题是,当我提交表单时,props 已经存在了。而且我只希望道具保持不变,并且在提交表单后不会获得任何新道具。然而,它似乎在每次提交表单后都要求新的道具。
  • 没有什么是“要求”任何东西——它是“推”而不是“拉”。所以是父组件没有传递所需的属性。
  • 对不起,我真的不明白你的意思是父组件没有传递所需的属性?我的父组件已经传递了表单正确呈现所需的属性。表单已正确呈现。
  • 不。反应的整个想法是没有“以前的时间” - 你每次都从头开始渲染一切。

标签: javascript reactjs redux


【解决方案1】:

基本上,错误只是 2 个不同属性使用的状态。因此导致不同的属性类型。我所要做的就是修改我的动作创建者而不是混淆状态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-01
    • 2019-03-31
    • 2017-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多