在使用 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;
}