【发布时间】:2021-01-17 19:23:46
【问题描述】:
在这段代码中,我想要实现的只是在 Textinput 的 value 属性中获取类型化的值。但是,我得到的是空的。 setState 是异步的,我落后了一步。我是 react 新手,不知道如何制作一个可以给我当前值的回调函数。
我也希望以后使用地图,并制作动态表格,我很欣赏可能适用于地图功能的解决方案。
谢谢
import React from 'react';
import {
View,
TextInput,
} from 'react-native';
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
Email: null,
Password: null,
Address: null,
};
}
EnterValue = (name) => {
return (text) => {
this.setState({
[name]: text,
});
};
};
render() {
return (
<View>
<TextInput
placeholder="enter email"
value={this.state.Email}
onChangeText={this.EnterValue('Email')}
style={{ borderWidth: 2, borderColor: 'skyblue', margin: 20 }}
/>
<TextInput
placeholder="Password"
value={this.state.Password}
onChangeText={this.EnterValue('Password')}
style={{ borderWidth: 2, borderColor: 'skyblue', margin: 20 }}
/>
<TextInput
placeholder="Address"
value={this.state.Address}
onChangeText={this.EnterValue('Address')}
style={{ borderWidth: 2, borderColor: 'skyblue', margin: 20 }}
/>
</View>
);
}
}
【问题讨论】:
-
您是说在
EnterValue函数中返回的函数内部,text的计算结果为null? -
可能对您的情况有所帮助:reactjs.org/docs/…
-
@weltschmerz 感谢您的指出。固定的。它应该选择名称参数
-
@Dom 谢谢。在我的情况下如何在 setState 中实现函数
-
如果您自己找到解决方案,请回答您自己的问题
标签: javascript reactjs react-native react-redux react-router