在另一个组件上反应本机更新值

时间:2018-12-08 04:46:44

标签: reactjs react-native

1我正在尝试在Example组件上显示一个值,我的倒数计时每1分钟循环一次,并将+ value添加到this.state.count

countdown 1 - adds +1 to count. countdown 2 - adds +2 to count. countdown 3 - adds +3 to count.

每1分钟,在示例组件上,计数应增加+ 3 + 2 + 1。

问题是嵌套,如何使用此嵌套更新示例值?

enter image description here

Countdown )组件,它会滴答一分钟,并增加+1。

export default class Countdown1 extends React.Component {
    state = {
       seconds: 1000 * 60,
       count: 1,
    };

render(){
      return(
            <TimerCountdown
            //initialSecondsRemaining={1000 * 60}
            initialSecondsRemaining={this.state.seconds}
            onTimeElapsed={() => this.setState({seconds: 1000 * 60, count: Example.state.count+1})}
            allowFontScaling={true}
            style={styles.clock}
            />
           );
我要显示计数值的

示例)。

 export default class Money extends React.Component {
constructor(props) {
    super(props);
    this.state = {
        count: 1,
    };
}

 render() {

return (
        <View>
         <Text style={styles.text1}>{this.state.count}</Text>
        </View>
   );
 }
}

2 个答案:

答案 0 :(得分:0)

解决方案

选择一个。该列表是根据建议排序的。

  1. 将状态管理库用作mobx或redux。 (https://github.com/mobxjs/mobx
  2. 使用React钩子来管理您的商店(https://reactjs.org/docs/hooks-state.html
  3. 调用props.function来触发父母的功能。 (例如:https://gist.github.com/sebkouba/a5ac75153ef8d8827b98

答案 1 :(得分:0)

我认为真正的解决方案是重新设计您的组件层次结构。示例组件在做什么?