J'ai quelques champs de texte et j'essaie d'imprimer quels types d'utilisateurs à la console, voici le code: pour une raison quelconque, elle imprime toujours " Indéfini non défini ", j'ai copié exactement la même chose d'un didacticiel et j'ai changé un peu, et j'ai même essayé des solutions données ici à Stackoverflow, mais rien n'a travaillé pour moi, j'apprécie vos commentaires! P> PS: i 'M NOUVEAU Pour réagir comme natif, je m'excuse si je n'ai pas utilisé la bonne terminologie. P> P>
3 Réponses :
State Look Soyez comme ceci STRY> <TextInput style = {styles.inputText}
onChange={onChangeText }
value = {text}
/>
<TextInput style = {styles.inputText}
onChange={onChangeDate }
value = {date}
/>
Réglage de l'état sur l'objet doit être effectué comme celui-ci, accédant à chaque paire de valeurs de clé.
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> ) }
Vous pouvez mettre à jour votre état quelque chose comme ceci ou créer une méthode pour gérer les mises à jour
1) p>
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({...state, companyName: text })}
value = {state.companyName}
/>
<TextInput style = {styles.inputText}
placeholder = {'Order placed date'}
placeholderTextColor = {'#B2B2B2'}
onChangeText = {text => setState({...state, beginDate: text })}
value = {state.beginDate}
/>
<TouchableOpacity style = {styles.saveButton} onPress = {() => {
console.log(state.companyName, state.beginDate);
}}>
<Text style = {styles.saveButtonText}>Save</Text>
</TouchableOpacity>
)
}