在父组件中存储获取的数据,什么是标准的React实践?

问题描述 投票:0回答:1

将数据存储在要传递给React中的子组件的父组件中的常见做法是什么?例如:

export default class Main extends Component{
    async componentWillMount(){
         let data = await fetch(some data);
    }
}

如果我打算将它传递给子组件,那么应该在哪里存储'let data'?我不想把它放到一个状态,因为我觉得它只用于你需要重新渲染的时候。以上是获取数据的正确方法吗?假设我刚刚登录,因为我正在重定向到这个Main类,我想让它获取数据然后渲染。什么是标准做法?

javascript reactjs rest fetch
1个回答
1
投票

你应该想把它放到这个状态。当然,它会在状态发生变化时重新呈现,这要归功于你的子组件在获得新的道具时会更新。除此之外,您无法更新您的子组件。这是这样做的正确方法。

您可以在componentDidMount中获取数据,因为componentWillMount将在以后的版本中弃用(v17)。因此,您在那里获取数据而不是设置您的状态:

export default class Main extends Component{
    async componentDidMount(){
         let data = await fetch(some data);
         this.setState({data: some data});
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.