【发布时间】:2020-10-16 15:06:10
【问题描述】:
我是反应新手。我有一个父组件导航栏,其状态为“Total_Item”。该数组是在单击 Modal 时添加的。值正在填充。现在我想获取这个数组的长度并在我的导航组件中显示在我的购物车按钮(目前是一个简单的按钮)上。但它说未定义。
所以数据不会保存在 Navbar 组件的 props (Tot_Item) 中。我确信 react 的呈现方式存在一些概念性错误。在这一点上,一个清晰的解释真的会有所帮助。
请看下面的沙盒:
https://codesandbox.io/s/blazing-sky-cet22
谢谢 萨尔
【问题讨论】:
-
看起来
Navbar中的任何内容根本不会更新状态,因此传递给Navv的this.state.Total_Item始终相同。 -
绘制了 Total_Item 已附加。我记录了它。问题是传递道具
-
附加到什么?在哪里?在
Navbar中没有任何this.setState({ Total_Item: ... })呼叫。Navbar只是将this.state.Total_Item传递给Navv和this.state.Category传递给Menu。没有任何更新。 -
我在 Menu 组件中做了 setState (Total_Item=ll7),使用 Listval 函数
-
好的,在
Menu中有两个对某些this.state.Total_Item的引用(L35 和 L43),但是对于来自Menu的那个状态没有做任何事情。您是否尝试更新Navbar中的状态?在下一行(L45)你console.log(this.props.Tot_Item)但这不是传递给Menu的道具,所以我完全希望它是未定义的。Navv有一个Tot_Item。看来您正在将两个组件之间的逻辑混合在一起。
标签: javascript jquery reactjs react-native react-redux