Javascript 反应本机选择器默认值
我有以下代码Javascript 反应本机选择器默认值,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我有以下代码 import React,{Component}来自'React'; 从“react native”导入{Text,View,StyleSheet,Picker}; 导出默认类应用程序扩展组件{构造函数(props){ 超级(道具) 此.state={ 语言:'', 第一语言:“java”, 第二语言:“js”, } } render(){ 返回( 未设置样式:{this.state.language} this.setState({language:itemValue})}
import React,{Component}来自'React';
从“react native”导入{Text,View,StyleSheet,Picker};
导出默认类应用程序扩展组件{构造函数(props){
超级(道具)
此.state={
语言:'',
第一语言:“java”,
第二语言:“js”,
} }
render(){
返回(
未设置样式:{this.state.language}
this.setState({language:itemValue})}
); } }
加载组件时,语言的组件状态中的值为空字符串,但在选择器中,选择了
Java
。我希望状态值也设置为java
。请帮助调用选择器项中的函数,以在其为null或空时设置值,如以下代码所示:
export default class App extends Component {
constructor(props) {
super(props);
this.myRef = React.createRef();
this.state = {
language: '',
};
}
setFirstValue (value){
if(this.state.language =='' ||this.state.language == null){
this.setState({ language: value })
}
}
render() {
return (
<View>
<Text>Unstyled: {this.state.language}</Text>
<Picker
selectedValue={this.state.language}
onValueChange={(itemValue) => this.setState({ language: itemValue })}
>
<Picker.Item label="Java" value="java" STF = {this.setFirstValue("java")} />
<Picker.Item label="JavaScript" value="js" />
<Picker.Item label="Python" value="python" />
<Picker.Item label="Haxe" value="haxe" />
</Picker>
</View>
);
}
导出默认类应用程序扩展组件{
建造师(道具){
超级(道具);
this.myRef=React.createRef();
此.state={
语言:'',
};
}
setFirstValue(值){
if(this.state.language=''| | this.state.language==null){
this.setState({language:value})
}
}
render(){
返回(
未设置样式:{this.state.language}
this.setState({language:itemValue})}
>
);
}
}
我想也许你也可以通过ref解决这个问题