Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 如何让两个文本输入相互通信(React Native)_React Native - Fatal编程技术网

React native 如何让两个文本输入相互通信(React Native)

React native 如何让两个文本输入相互通信(React Native),react-native,React Native,我不熟悉React Native,目前有两个文本输入框,我希望当我更改其中一个时,另一个中显示的值也会更改。但是,您将被允许编辑第二个文本输入,这将改变第一个文本输入。等等 我尝试过将占位符设置为值,然后随着第一个文本输入的更改,占位符也会更改,但只有在编辑文本框后才会生效 从本质上讲,我无法找到一种将文本输入和输出置于彼此之上的方法。state={valueOne:'',valueTwo:'} state = { valueOne: '', valueTwo: '' } changeValu

我不熟悉React Native,目前有两个文本输入框,我希望当我更改其中一个时,另一个中显示的值也会更改。但是,您将被允许编辑第二个文本输入,这将改变第一个文本输入。等等

我尝试过将占位符设置为值,然后随着第一个文本输入的更改,占位符也会更改,但只有在编辑文本框后才会生效

从本质上讲,我无法找到一种将文本输入和输出置于彼此之上的方法。

state={valueOne:'',valueTwo:'}
state = { valueOne: '', valueTwo: '' }

changeValueOne = (valueOne) => {
  this.setState({
    valueOne,
    valueTwo: `${valueOne}-foo`
  })
}

changeValueTwo = (valueTwo) => {
  this.setState({
    valueOne: `${valueTwo}-bar`,
    valueTwo
  })
}

render() {
  const { valueOne, valueTwo } = this.state
  return (
    <View>
      <Input onChangeText={this.changeValueOne} value={valueOne} />
      <Input onChangeText={this.changeValueTwo} value={valueTwo} />
    </View>
  )
}

changeValueOne=(valueOne)=>{ 这是我的国家({ valueOne, valueTwo:`${valueOne}-foo` }) } changeValueTwo=(valueTwo)=>{ 这是我的国家({ valueOne:`${valueTwo}-bar`, 价值二 }) } render(){ const{valueOne,valueTwo}=this.state 返回( ) }
这正是我想要做的,除了一个细节。在显示“valueTwo”之前,您可以演示如何操作它吗。例如,我在第一个栏中输入2,会有一个函数,将第一个数字乘以3,然后在第二个栏上显示。所以我在顶部输入2,在底部显示6。我已经非常接近这样做了,但是当我试图操作它时,显示的值总是比类型化的值落后一个迭代。谢谢您可以更新
onChangeText
的函数来执行类似操作,
changeValueOne=(valueOne)=>{const valueTwo=parseInt(valueOne)*3 this.setState({valueOne,valueTwo:`${valueTwo}}
出于我的目的,我想要:const valueTwo=this.state.calculation。其中,当valueOne更改时,“this.state.calculation”的值正在更改。我一直面临的问题是,当出现问题时,输出会落后一次迭代。handleChangetext接着说,我运行计算函数,为“this.state.calculation”生成一个数字,我希望该值为population valueTwo,但它将显示上一次迭代的结果,而不是实时更新。我非常感谢你的帮助,我学到了很多。再次感谢现在我运行handleChangetext,第一件事是:this.calculate(variable,valueOne);这个函数设置了“计算”的状态,我希望这就是valueTwo中显示的状态。