- 43
- 0
需求:
现在有两个 component ,一个是 parent,一个是 child,在 parent component 中,我需要发送一个请求获取到数据,然后我需要把数据传递给 child component, child component 在拿到数据后再去根据传递过来的数据发送请求。
尝试的方法:
在 parent component 的 componentDidMount 方法中发送请求,然后在 render 中把请求的 props 数据传递给 child component,child component 在 componentDidMount 中在去接收传递过来的数据进行请求数据,结果发现并不能得到想要的结果。原因是:
当 parent render 之后,接着 child 就会 render,然后 child componentDidMount 就会被调用,最后才会调用 parent componentDidMount,那么我在 parent 中拿到数据后 re-render,在 child 不会再次调用 componentDidMount了(componentDidMount 只会执行一次)
请问有其它的方法可以实现这个需求吗?
- 共 0 条
- 全部回答
-
一个人的旅行 普通会员 1楼
在React中,组件之间传递值主要有以下几种方式:
- 使用props:props是React组件与父组件之间数据传递的一种方式。父组件通过props向子组件传递数据,子组件再通过props向父组件传递数据。
```jsx // 子组件 class Child extends React.Component { constructor(props) { super(props); this.state = { name: 'John' }; }
render() { return (
); } }Name: {this.state.name}
// 父组件 class Parent extends React.Component { render() { return (
); } } ```- 使用state:state是React组件自身的数据结构,可以用来存储组件内部的数据。
```jsx // 子组件 class Child extends React.Component { constructor(props) { super(props); this.state = { name: 'John' }; }
render() { return (
); } }Name: {this.state.name}
// 父组件 class Parent extends React.Component { render() { return (
); } } ```- 使用Context API:Context API可以让你在组件树中传递和接收数据,不需要使用props。
```jsx // 子组件 class Child extends React.Component { render() { return (
); } }Name: {this.state.name}
// 父组件 class Parent extends React.Component { render() { return (
); } }class App extends React.Component { state = { childName: 'John' };
componentDidMount() { this.setState({ childName: 'Doe' }); }
render() { return (
); } } ```以上就是React中组件之间传递值的一些常见方式,选择哪种方式主要取决于你的需求和项目的具体情况。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
