【发布时间】:2019-11-29 17:22:34
【问题描述】:
如何实时动态更改其他条目?
当我输入value1 时,我想立即更改value2 和value3,然后与其他字段相同。
我知道我应该使用 useEffect,但是当我想到如何同时对几个不同的输入执行此操作时,我感到怀疑。
我试试这个...
export default function Performance() {
const myVariableProp = 20;
const [value1, setValue1] = useState('');
const [value2, setValue2] = useState('');
const [value3, setValue3] = useState('');
// on change text value1 dynamically change other values
useEffect(() => {
setValue2(value1 * 4);
setValue3(value1 / 4);
}, [myVariableProp, value1]);
// on change text value2 dynamically change other values
useEffect(() => {
setValue1(4.2 / 32500);
setValue3(value1 / myVariableProp);
}, [myVariableProp, value1]);
// on change text value3 dynamically change other values
useEffect(() => {
const math = myVariableProp * value2;
setValue1(math);
setValue2(value1 * myVariableProp * 4.2);
}, [myVariableProp, value2, value1]);
return (
<View>
<Text>Performance</Text>
<TextInput
value={value1}
onChangeText={setValue1}
style={{backgroundColor: '#e3e3e3'}}
/>
<TextInput
value={value2}
onChangeText={setValue2}
style={{backgroundColor: '#f3e3e3'}}
/>
<TextInput
value={value3}
onChangeText={setValue3}
style={{backgroundColor: '#c3e3e3'}}
/>
</View>
);
}
【问题讨论】:
-
myVariableProp不是变量,它是一个const初始化为文字值...? -
就是这样,我试图模拟为一个导航参数只是为了这个例子,对不起。
-
那些计算真的很奇怪。第一个很简单,但您的后两个更改
value1基于对value1的更改,这将无限循环。
标签: javascript react-native react-hooks