RN - Cambiar screenProps de los padres

RN - Cambiar screenProps de los padres

Estoy trabajando en un menú de React Native con StackNavigator. Si el usuario presiona un ListItem, se debe pasar una identificación a todas las demás pestañas en este menú, para que los datos puedan obtenerse de una API. Traté de usar screenProps para pasar los datos. Desafortunadamente, no pude restablecer el valor al presionar ListItem.

export default class Index extends Component {
  constructor(props){
    super(props);
  }

  render() {
    return (
      <OrderScreen
          screenProps={ { Number: 123 } }
      />
    );
  }
}

En los componentes secundarios puedo acceder al accesorio pero no reasignarlo:

export default class ListThumbnailExample extends Component
{
  constructor(props)
  {
    super(props);
    const{screenProps} = this.props;
    this.state = { epNummer: screenProps.Number };
  }

  render()
  {
    return ( 
      <Content>
      <List>
      {
        this.state.orders.map(data => ( 
        <ListItem key = {data.Number}
          onPress = {() =>
            {
              this.props.screenProps.Number = data.Number;
              this.props.navigation.navigate('Orders')
            }
          }
          <Text>{ data.name }</Text> 
        </ListItem >
        ))
      }
      </List>  
    </Content >
    );
  }
}

¡Gracias!

Mostrar la mejor respuesta

screenProps está en desuso, le sugiero que no lo use

En React y los accesorios nativos de React son inmutables por diseño: https://reactjs.org/docs/components- and-props.html#props-are-read-only

En su caso, si desea pasar datos específicos de la pantalla, puede intentar pasarlos en los parámetros de la función navigation.navigate() de esta manera:

 this.props.navigation.navigate('Orders',data.Number)

a continuación, puede acceder a ellos en la pantalla "Pedidos" desde: props.navigation.state.params

Más información aquí: https://reactnavigation.org/docs/params.html