您如何将观察者子组件编写为类组件?

时间:2019-11-29 23:05:22

标签: reactjs react-native mobx mobx-react

对于我要实现的目标,我需要能够在子组件中运行componentDidMount()。 如何将const Child = observer(({ doc }) => {重写为类组件?

我正在从Firebase中提取数据,并将该数据迭代到子组件中。假设一切正常,我只想重写子组件。

如果我的逻辑有缺陷,请告诉我。

const Parent = observer(
  class Parent extends Component {
    render() {
      return(
          <View>
            {latestEP.docs.map(doc => (
              <Child key={doc.id} doc={doc} ref={this.load} />
            ))}
          </View>
      )
    }
  }
)

const Child = observer(({ doc }) => {
  const { name, id, date, url, description } = doc.data;

  return (
    //some stuff
  );
});

1 个答案:

答案 0 :(得分:0)

您可以像将Child组件一样将Parent组件变成一个类,并确保从doc获得了this.props道具。

const Child = observer(
  class Child extends Component {
    componentDidMount() {
      // ...
    }

    render() {
      const { name, id, date, url, description } = this.props.doc.data;

      return (
        // some stuff
      );
    }
  }
);