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