React Navigation - состояние доступа внутри setOptions () headerRight callback - PullRequest
1 голос
/ 27 мая 2020

Я заменяю опцию response-navigation , headerRight настраиваемой кнопкой внутри React.useEffect. При нажатии кнопки мне нужно получить доступ к состоянию name, но получаемое мной значение не является текущим.

const [name, setName] = React.useState('')

React.useEffect(() => {
  navigation.setOptions({
    headerRight: function HB() {
          return (
            <HeaderBtn onPress={submit}>
              Submit
            </HeaderBtn>
          )
        }
      : null,
  })
}, [])

function submit() {
  console.log(name) // ''
  // It always returns an empty string, instead of the
  // most recent name setted by TextInput.
  // How can I access the current name?
}

return (
  <TextInput
    nativeID="inputNameLabel"
    onChangeText={setName}
  />
)

Есть ли способ получить доступ к текущему name без вызова setOptions() в каждом рендере? (он же добавление name к зависимости массива .useEffect)

...