在使用 parents 道具渲染之前初始化状态
initialize state before rendering with parents props
当我初始化状态时
constructor(props) {
super(props);
this.state = {
restaurant:this.props.restaurant
}
}
console.log(this.state.restaurant)
returns:
[]
"this.props.restaurant" 包含数据
我需要从道具中获取数据(在渲染之前)以将它们显示在 table 上,否则我的 table 将是空的
根据 React 生命周期文档:Click Here
您可以在 class 中使用以下代码在初始渲染之前进行更新:
constructor(props) {
super(props);
this.state = {
restaurant: null
};
}
static getDerivedStateFromProps(nextProps, prevState) {
if (prevState.restaurant !== nextProps.restaurant) {
return { restaurant: nextProps.restaurant };
}
return null;
}
当我初始化状态时
constructor(props) {
super(props);
this.state = {
restaurant:this.props.restaurant
}
}
console.log(this.state.restaurant)
returns:
[]
"this.props.restaurant" 包含数据
我需要从道具中获取数据(在渲染之前)以将它们显示在 table 上,否则我的 table 将是空的
根据 React 生命周期文档:Click Here
您可以在 class 中使用以下代码在初始渲染之前进行更新:
constructor(props) {
super(props);
this.state = {
restaurant: null
};
}
static getDerivedStateFromProps(nextProps, prevState) {
if (prevState.restaurant !== nextProps.restaurant) {
return { restaurant: nextProps.restaurant };
}
return null;
}