如何在本机反应中调用子组件中的提取?

时间:2019-09-04 17:24:23

标签: react-native react-native-android react-native-ios react-native-flatlist

我在网上看到了一些教程,并且大多数示例都在使用

一个类组件,例如

export default class App extends Component {

      constructor() {
        super();
        //set state here and data source 
      } 

      componentDidMount() {
        //get json data here
      }

     render() {
       return(
          blah blah blah
       )
     }

}

如果我希望子组件具有调用fetch的功能,怎么办?

    //NewComponent.js
    //this is my sub component
    const NewComponent = () => {
        return(
          <FlatList />
          //I want a list of data here
        )
    }

   const getData = () => {
     //call fetch here
   }

   export default NewComponent

那么在我的第二个代码片段中,如何调用getData以便我在NewComponent内部显示数据?

1 个答案:

答案 0 :(得分:0)

您有几种选择。我个人会去争取#3

  1. 您可以将子组件设为一个类,并使用React的生命周期方法,例如componentDidMount

  2. 您可以将getData函数移至另一个javascript模块。然后导入并从父组件调用它。将结果作为道具传递到子组件中。

  3. 使用React的Effect Hook。还请注意Optimizing Performance by Skipping Effects部分。

希望有帮助。