在文本输入挂钩上设置初始值

时间:2020-07-13 02:41:44

标签: reactjs react-native react-hooks

如果我必须将名称输入字段的初始值设置为:

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)}/>
    

我们如何使用钩子设置初始动态值,然后允许其更改它。文本不可见,或者如果我在字段上书写,则文本不可编辑。

2 个答案:

答案 0 :(得分:0)

您需要更改

<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)}/>

答案 1 :(得分:0)

您可以使用useEffect。

useEffect(() => {
  if(userProfileDataFetched.name) {
    setName(userProfileDataFetched.name)
  }
}, [userProfileDataFetched])