如果必须将名称输入字段的初始值设置为:
const [name, setName] = useState(userProfileDataFetched.name); //This doesn't show anything on input field
而不是
const [name, setName] = useState('test'); // This works
其中getRequest是(仅供参考(
const [userProfileDataFetched, setUserProfileDataFetched] = useState('')
同样为了参考:userProfileDataFetched设置为setUserProfileDataFetched(response.data);
以便在输入文本中可以看到动态值getRequest.name。
然后允许它在输入文本上更改其值
所以,保持输入标签像:
<TextInput style={styles.input} name={Name}
value={name}
onChangeText={value=>console.log(value)}/>
我们如何使用钩子设置初始动态值,然后允许它更改它。要么文本不可见,要么如果我在字段上写,它就不可编辑。
您需要更改
<TextInput style={styles.input} name={Name}
value={name}
onChangeText={value=>console.log(value)}/>
至
<TextInput style={styles.input} name={Name}
value={name}
onChangeText={value=> setName(value)}/>
您可以使用useEffect。
useEffect(() => {
if(userProfileDataFetched.name) {
setName(userProfileDataFetched.name)
}
}, [userProfileDataFetched])