我正在使用react-native-dropdownaler库,当我在ref中为其创建App时,而不是在每个屏幕中添加组件时,我只想将其ref传递给我的Router并在以后使用。
ref传递给 sibling 的问题是-它们都一起渲染,所以当我传递ref时,它仍然是undefined

render() {
  return (
    <View style={styles.container}>
      <StatusBar />
       <Router alertRef={this.alertRef}/>
       <DropdownAlert ref={ref => (this.alertRef = ref)} />
    </View>
  );
}

最佳答案

您可以使用 createRef API创建ref。直到第一个渲染之后,current属性仍然不会设置。

class App extends React.Component {
  alertRef = React.createRef();

  render() {
    return (
      <View style={styles.container}>
        <StatusBar />
        <Router alertRef={this.alertRef} />
        <DropdownAlert ref={this.alertRef} />
      </View>
    );
  }
}

09-25 18:51