React-Native-Navigation изменяет состояние на другом экране с помощью getParam () - PullRequest
0 голосов
/ 27 января 2020

Я хочу перейти к уменьшению экрана с главного экрана и после ввода числа в TextInput отправить его для изменения всего на главном экране с помощью `` `getParam ('clickMe', 'changeTotal')` `но я не смог найти способ передать число на главный экран.

домой. Js

export default class Home extends Component {
  state = {
    total: 1000
  };

  decreaseTotalHandlerNavigate = () => {
    this.props.navigation.navigate("Decrease", { clickMe: this.changeTotal });
  };

  changeTotal = number => {
    this.setState(prevState => ({ total: prevState.total - number }));
  };

  render() {
    return (
      <View>
        <Text>{this.state.total}</Text>
        <TouchableOpacity onPress={this.decreaseTotalHandlerNavigate}>
          <Text>Decrease</Text>
        </TouchableOpacity>
      </View>
    );
  }
}

уменьшить. js

export default class Decrease extends Component {
  state = {
    number: 0
  };

  render() {
    return (
      <View>
        <TextInput
          onChangeText={value => {
            this.setState({
              number: value
            });
          }}
        />
        <TouchableOpacity onPress={this.props.navigation.getParam("clickMe", "changeTotal")}>
          <Text>Add</Text>
        </TouchableOpacity>
      </View>
    );
  }
}
...