我有一个父组件A
和一个“动态”子组件B
。 A
与redux商店相关联,并从商店调度名为myItems
的道具。 B
获取一个子列表,并按键遍历它们,因此您可以这样调用它:
<B>
<SomeView1 key="1" prop={this.props.myItems}/>
<SomeView1 key="2" />
<SomeView1 key="3" />
</B>
我无法将this.props.myItems
传递给B的子视图,也就是从A
传递给孙子SomeView1
。它似乎只读取了一次数据,但在A
中随时更新了道具,这些更改未反映在SomeView
中。
render() {
return (
console.log(this.props.myItems);
if (this.props.isUser) {
return (
<B
<SomeView1 key="1" items={this.props.myItems} />
/>
);
}
);
}
我可以使用回调,或者我可以将数据传递给B
,后者又将其传递给SomeView1
,但B
的目的是成为一个灵活的组件任何数量的组件,可以反过来有任何数量的道具。试图找到比将道具传递给B更好的解决方案,或者为所有B
的儿童道具进行数十次回调。