Reactjs 如何在嵌套组件中传递数据?
我想知道如何在嵌套组件中传递数据。 我正在使用react-native和react-redux、redux-thunk、redux-persist制作一个应用程序 根据我对redux概念的理解,即使它由嵌套组件组成,也可以从存储中获取或更新状态。 但是,我只将数据作为道具从父组件传递到子组件。 我想使用redux是不正确的,因为深度越深,调用父组件的函数就越多。 听起来很奇怪,对吧? 如果你看到我的代码,你就会明白我在说什么 这是我的密码 更新 例如,代码结构类似于下面的代码。 若我想在孙子组件中调用操作,我应该转到父组件吗 parent.js child.js 孙子 我想找出redux的原因,因为reducer现在被调用了两次,但我不知道这里发生了什么 如果你能给我提些建议,对我会有帮助的。Reactjs 如何在嵌套组件中传递数据?,reactjs,react-native,react-redux,Reactjs,React Native,React Redux,我想知道如何在嵌套组件中传递数据。 我正在使用react-native和react-redux、redux-thunk、redux-persist制作一个应用程序 根据我对redux概念的理解,即使它由嵌套组件组成,也可以从存储中获取或更新状态。 但是,我只将数据作为道具从父组件传递到子组件。 我想使用redux是不正确的,因为深度越深,调用父组件的函数就越多。 听起来很奇怪,对吧? 如果你看到我的代码,你就会明白我在说什么 这是我的密码 更新 例如,代码结构类似于下面的代码。 若我想在孙子组件
谢谢大家! 我不确定该怎么走。但我正在处理组件: 重用UI,使用不同的数据动态->纯组件。从家长那里传递道具 仅用于1逻辑/数据->组件。连接到存储
哪个函数被触发两次?请根据您的代码更加专业,之后comunity会更有帮助。我认为,如果将箭头函数与普通函数混合使用,可能会触发任何不需要的函数。请记住,当第一次装入组件时,React生命周期将调用render方法twices
在孙子组件中,在成功呈现组件后调用childFunc。也许在您的子组件中,您第一次调用该函数时并不知道它。因此,请更加谨慎,准确地显示您遇到问题的代码部分。谢谢您的回答!然而,我认为你的答案不是我想要的。我更新了我的帖子。谢谢。我会更新我的代码。顺便问一下,上面代码的结构有什么问题吗?我指的是这个结构的父级,如果比示例更深,那么每当我想要分派动作时,我是否应该将函数从grand grand child传递给父级?如果你想要分派任何动作,你应该在actions.js文件上创建该动作,然后在redux的帮助下将动作/函数作为道具传递。每次调用该操作时,都会将一个playload从reducer分派到您要调用的组件。您还可以接收作为道具的Desired组件中的数据/播放负载。
...
getData = async () => {
await Actions.func();
}
render() {
return (
<Parent>
<Child data={data} getData={this.getData}/>
</Parent>
);
}
...
childFunc(){
this.props.getData();
}
<Child>
<GrandChild grandChildFunc={this.childFunc}/>
</Child>
...
componentDidMount() {
this.props.childFunc();
}
render() {
return (
<View>
<Text>Example</Text>
<View>
);
}