ios - react - wix navigation docs
Pasar el estado de Redux a través de NavigatorIOS (2)
Estoy en el proceso de integrar Redux en una aplicación React Native. Tengo problemas para averiguar cómo pasar el estado de Redux a través de un componente NavigatorIOS.
Cuando la ejecución ingresa al componente que se muestra a continuación, el depurador muestra
props = Object {state: undefined, actions: Object}
Con las acciones esperadas en el objeto actions, y estado aún indefinido ya que aún no se ha inicializado (supongo).
Sin embargo, cuando la ejecución ingresa al componente ItemIndex, el depurador muestra props = Object {navigator: Object, route: Object}
Mi implementación actual intenta pasar explícitamente el estado y las acciones, pero no se procesan: el depurador ahora muestra props = Object {navigator: Object, route: Object, state: null, actions: undefined}
class MainComponent extends Component {
constructor(props) {
super(props)
const { actions, state } = props
}
render() {
return (
<NavigatorIOS
ref = "nav"
style = {styles.navigator}
initialRoute = {{
// Pass redux state into component
passProps: { state: this.state, actions: this.actions },
// currently becomes { state: null, actions: undefined }
title: ''Items'',
component: ItemIndex
}}/>
)
}
}
module.exports = MainComponent
¿Hay alguna manera de que pueda seguir transmitiendo el estado de Redux a través de NavigatorIOS
?
Me di cuenta de que estaba dejando fuera los props
parte de la cadena:
render() {
return (
<NavigatorIOS
ref = "nav"
style = {styles.navigator}
initialRoute = {{
// Pass redux state into component
passProps: { state: this.props.state, actions: this.props.actions },
title: ''Items'',
component: ItemIndex
}}/>
)
}
En realidad, esto solo funciona para el estado inicial, parece detener el cambio de estado que activa las actualizaciones de componentes para el componente initialRoute y los componentes subsiguientes.
react-native-navigation admite Redux, usa controladores nativos de vista iOS (a través de react-native-controllers en lugar de navigatorIOS) y pronto será compatible con Android. Hasta ahora, esta ha sido la mejor solución de navegación para mis necesidades.