【发布时间】:2018-10-06 14:10:08
【问题描述】:
我正在用 React Native 构建一个简单的表单。我想要做的是,当输入字段的值发生变化时,我想更新状态(在这种情况下为phone)。输入字段的值始终等于状态的值。但是,当输入字段的值发生变化时,状态(phone)的值不会更新。提前致谢。这是代码。
import React from 'react';
import { StyleSheet, TextInput, View } from 'react-native';
const styles = StyleSheet.create({
input: {
padding: 5,
borderColor: 'black',
borderWidth: 1,
},
});
export default class AddContactForm extends React.Component {
state = {
phone: 'sdfksd',
};
handlePhoneChange = (phone) => {
this.setState({
phone: '111',
});
};
render() {
return (
<View style={{ paddingTop: 40 }}>
<TextInput
style={styles.input}
value={this.state.phone}
onChangeText={this.handlePhoneChange}
keyboardType="numeric"
placeholder="Phone"
/>
</View>
);
}
}
更新:即使我在handlePhoneChange 中设置了phone,我仍然可以将文本字段显然更新为不同的值。这在状态和文本字段之间是不一致的。
【问题讨论】:
-
为什么将手机设置为
111?无论用户输入什么,您是否希望您的文本输入具有“111”的值? -
刚刚更新。请至少在发表评论之前先思考或尝试一下。
-
但是当您在文本字段中输入时,即使状态始终为
111,它仍在更改中 -
@BillPham 如果您可以将其更改为我的答案,您的问题将得到解决!
标签: javascript reactjs react-native