Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 导航栏应该如何与React Native中的组件通信?_Reactjs_React Native_React Native Router Flux - Fatal编程技术网

Reactjs 导航栏应该如何与React Native中的组件通信?

Reactjs 导航栏应该如何与React Native中的组件通信?,reactjs,react-native,react-native-router-flux,Reactjs,React Native,React Native Router Flux,我在我的react native应用程序中使用“react native router flux”,但我似乎不知道自定义导航栏应该如何与我的组件通信 我有以下代码 NavigationRouter.js: <Scene key='addDrillScreen' component={AddDrillScreen} navBar={AddDrillNavBar} /> AddDrillNavBar.js: class AddDrillNavBar extends React.Comp

我在我的react native应用程序中使用“react native router flux”,但我似乎不知道自定义导航栏应该如何与我的组件通信

我有以下代码

NavigationRouter.js:

<Scene key='addDrillScreen' component={AddDrillScreen} navBar={AddDrillNavBar} />
AddDrillNavBar.js:

class AddDrillNavBar extends React.Component {    
  render() {
    return (
        <View style={styles.saveButton}>
        <TouchableOpacity onPress={() => {
          // ??? How do I trigger the performSave() on my AddDrillScreen?
        }}>
          <Text style={styles.saveButtonText}>Save</Text>
        </TouchableOpacity>
      </View>
    )
  }
class AddDrillNavBar扩展了React.Component{
render(){
返回(
{
//??如何在AddDrillScreen上触发performSave()?
}}>
拯救
)
}

我不明白这两者是如何沟通的

你有两个选择

  • 使
    performSave
    static
  • performSave
    移动到另一个类,该类可以共享且不是react组件
  • 如果使用flux库,请使用flux库中此类操作的最佳实践。例如,在
    redux
    中,您应该将该代码包含在动作创建者中

这里有一个类似的问题。希望这能解决你的问题。
class AddDrillNavBar extends React.Component {    
  render() {
    return (
        <View style={styles.saveButton}>
        <TouchableOpacity onPress={() => {
          // ??? How do I trigger the performSave() on my AddDrillScreen?
        }}>
          <Text style={styles.saveButtonText}>Save</Text>
        </TouchableOpacity>
      </View>
    )
  }