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);
    }}> 
    拯救
    )
    }