Установка начального значения для обработчика ввода текста - PullRequest
0 голосов
/ 13 июля 2020

Если мне нужно установить начальное значение поля ввода имени следующим образом:

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);

, так что динамическое c значение getRequest.name отображается во входном тексте.

, а затем разрешить чтобы изменить его значение во входном тексте

, поэтому сохраните входной тег, например:

 <TextInput style={styles.input} name={Name}
                          value={name}
     onChangeText={value=>console.log(value)}/>
    

Как мы можем установить начальное динамическое c значение с помощью хука, а затем разрешить ему Измени это. Либо текст не отображается, либо его нельзя будет редактировать, если я напишу его в поле.

Ответы [ 2 ]

0 голосов
/ 27 июля 2020

Вы можете использовать useEffect.

useEffect(() => {
  if(userProfileDataFetched.name) {
    setName(userProfileDataFetched.name)
  }
}, [userProfileDataFetched])
0 голосов
/ 13 июля 2020

Необходимо поменять

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