在父组件中存储数据以传递给React中的子组件的常见做法是什么?例如:
export default class Main extends Component{
async componentWillMount(){
let data = await fetch(some data);
}
}
如果我计划将“ let数据”传递给子组件,应该将其存储在哪里?我不想将其置于一种状态,因为我觉得它仅在需要重新渲染时才使用。以上也是获取数据的正确方法吗?假设我刚刚登录,并且在我重定向到这个Main类时,我希望它获取数据然后进行渲染。什么是标准做法?
答案 0 :(得分:1)
您应该要进入状态。当然,状态更改时它将重新呈现,这要归功于此,您的子组件在获得新道具时也会更新。除此之外,您无法更新子组件。这是正确的方法。
您可以在componentDidMount
中获取数据,因为在以后的版本(v17)中将不推荐使用componentWillMount
。因此,您在那里获取数据而不是设置状态:
export default class Main extends Component{
async componentDidMount(){
let data = await fetch(some data);
this.setState({data: some data});
}
}