Pase accesorios de niño a padre para reactjsr a la navegación

Estoy usando react-navigation . Estoy pasando props de un react-native component a la modal de react-navigation que se abre en un toque.

 export default class SomeComp extends Component { ... render() { const { navigate } = this.props; return (  ) } } 

Dentro del modal , goBack() función goBack() que cierra el modal , así como los props pasados ​​a través de SomeComp

 export default class Modal extends Component { ... render() { const { data, ... } = this.props.navigation.state.params; const { goBack } = this.props.navigation; return (    {data, ...}   ) } } 

Lo que me pregunto es si es posible o no pasar props desde Modal a SomeComp , sin usar redux . En un react-native parent-child component “normal” react-native parent-child component lo haría con una simple callback . Sin embargo, eso no funciona aquí, porque el modal se define en el router , por lo tanto, es completamente independiente de SomeComp . Su único llamado desde allí …

    Existe una solución realmente simple para devolver los accesorios al componente padre en goBack() .

    Puede pasar una función que contenga un apoyo adicional a Modal y justo antes de llamar a goBack() o en componentWillUnmount puede llamar a esa función.

    Ejemplo

     export default class SomeComp extends Component { ... onGoBack = (someDataFromModal) => { console.log(someDataFromModal); } render() { const { navigate } = this.props; return (  ) } } 

     export default class Modal extends Component { ... componentWillUnmount() { if(this.props.navigation.state.params.onGoBack) { this.props.navigation.state.params.onGoBack('I fired from Modal!'); } } render() { const { data, ... } = this.props.navigation.state.params; const { goBack } = this.props.navigation; return (    {data, ...}   ) } }