StackOverflow我试图使一个按钮改变布尔值从真到假,反之亦然,以改变可编辑的值在textInput。这是我到现在为止所做的:
const [change, setChange] = useState(true);
const [text, setText] = useState("");
const textEdit = () => {
change === true ? setChange(false) : setChange(true);
};
由于某种原因,在点击touchableacity之后,它不会改变状态,或者我的代码中一定有问题,阻止react改变"change"的状态在下面的文本中输入
<TextInput
style={{ width: "100%", height: 100, backgroundColor: "gray" }}
placeholder={"write something"}
onChangeText={(text) => setText(text)}
editable={change}
>
<Text>adderess</Text>
</TextInput>
<TouchableOpacity
onPress={() => {
textEdit;
}}
>
<Text style={{ color: "blue" }}>Change</Text>
</TouchableOpacity>
因为您没有在按下时调用函数textEdit
。就像这样更新:
onPress={() => {
textEdit();
}}
或清洁:
onPress={textEdit}