Reactjs 获取用户输入总是返回“;“未定义”;
我有几个文本字段,我正在尝试将用户键入的任何内容打印到控制台,下面是代码:Reactjs 获取用户输入总是返回“;“未定义”;,reactjs,react-native,Reactjs,React Native,我有几个文本字段,我正在尝试将用户键入的任何内容打印到控制台,下面是代码: export default function CreateOrderPage() { const [state, setState] = useState ({ companyName: '', beginDate: '' }) return ( {/* Some code */} <TextInput style =
export default function CreateOrderPage() {
const [state, setState] = useState ({
companyName: '',
beginDate: ''
})
return (
{/* Some code */}
<TextInput style = {styles.inputText}
placeholder = {'Company name'}
placeholderTextColor = {'#B2B2B2'}
onChangeText = {text => setState(text)}
value = {state.companyName}
/>
<TextInput style = {styles.inputText}
placeholder = {'Order placed date'}
placeholderTextColor = {'#B2B2B2'}
onChangeText = {text => setState(text)}
value = {state.beginDate}
/>
<TouchableOpacity style = {styles.saveButton} onPress = {() => {
console.log(state.companyName, state.beginDate);
}}>
<Text style = {styles.saveButtonText}>Save</Text>
</TouchableOpacity>
)
}
导出默认函数CreateOrderPage(){
常量[状态,设置状态]=使用状态({
公司名称:'',
开始日期:“”
})
返回(
{/*一些代码*/}
设置状态(文本)}
值={state.companyName}
/>
设置状态(文本)}
值={state.beginDate}
/>
{
log(state.companyName,state.beginDate);
}}>
拯救
)
}
出于某些原因,它总是打印出“Undefined Undefined”,我从一个教程中复制了完全相同的内容,并对其进行了一些修改,我甚至尝试了StackOverFlow中给出的解决方案,但没有任何效果,我感谢您的反馈
附言:我是个新来的土生土长的人,如果我没有使用正确的术语,我深表歉意。州看起来像这样
const [name, setName] = useState ('')
const [date, setDate] = useState ('')
const onChangeText = e => setName(e.target.value)
const onChangeDate = e => setDate(e.target.value)
<TextInput style = {styles.inputText}
onChange={onChangeText }
value = {text}
/>
<TextInput style = {styles.inputText}
onChange={onChangeDate }
value = {date}
/>
函数看起来像这样
const [name, setName] = useState ('')
const [date, setDate] = useState ('')
const onChangeText = e => setName(e.target.value)
const onChangeDate = e => setDate(e.target.value)
<TextInput style = {styles.inputText}
onChange={onChangeText }
value = {text}
/>
<TextInput style = {styles.inputText}
onChange={onChangeDate }
value = {date}
/>
输入看起来像这样
const [name, setName] = useState ('')
const [date, setDate] = useState ('')
const onChangeText = e => setName(e.target.value)
const onChangeDate = e => setDate(e.target.value)
<TextInput style = {styles.inputText}
onChange={onChangeText }
value = {text}
/>
<TextInput style = {styles.inputText}
onChange={onChangeDate }
value = {date}
/>
应该像这样设置对象的状态,访问每个键值对
export default function CreateOrderPage() {
const [state, setState] = useState ({
companyName: '',
beginDate: ''
})
return (
{/* Some code */}
<TextInput style = {styles.inputText}
placeholder = {'Company name'}
placeholderTextColor = {'#B2B2B2'}
onChangeText = {text => setState(prev => {
companyName: text,
beginDate: prev.beginDate
})}
value = {state.companyName}
/>
<TextInput style = {styles.inputText}
placeholder = {'Order placed date'}
placeholderTextColor = {'#B2B2B2'}
onChangeText = {text => setState(prev => {
companyName: prev.companyName,
beginDate: text
})}
value = {state.beginDate}
/>
<TouchableOpacity style = {styles.saveButton} onPress = {() => {
console.log(state.companyName, state.beginDate);
}}>
<Text style = {styles.saveButtonText}>Save</Text>
</TouchableOpacity>
)
}
导出默认函数CreateOrderPage(){
常量[状态,设置状态]=使用状态({
公司名称:'',
开始日期:“”
})
返回(
{/*一些代码*/}
设置状态(上一个=>{
公司名称:text,
beginDate:上一个
})}
值={state.companyName}
/>
设置状态(上一个=>{
公司名称:prev.companyName,
开始:文本
})}
值={state.beginDate}
/>
{
log(state.companyName,state.beginDate);
}}>
拯救
)
}
您可以像这样更新您的状态,或者创建一个方法来处理更新
(一)
导出默认函数CreateOrderPage(){
常量[状态,设置状态]=使用状态({
公司名称:'',
开始日期:“”
})
返回(
{/*一些代码*/}
setState({…状态,公司名称:text})
值={state.companyName}
/>
setState({…state,beginDate:text})
值={state.beginDate}
/>
{
log(state.companyName,state.beginDate);
}}>
拯救
)
}