Я использую useState для установки текста из TextInput, и я использую useEffect для перезаписи поведения с помощью кнопки назад.
const [text, setText] = useState("");
<TextInput
onChangeText={text => setText(text)}
defaultValue={text}
/>
const printVal() {
console.log("text is " + text);
}
useEffect(() => {
navigation.setOptions({
headerLeft: () => (
<HeaderBackButton onPress={() => printVal()} />
)
});
});
Это всегда приводит к тому, что записываемый текст является исходным значением ofState. Если я не использую useEffect, это работает, но я не хочу устанавливать опцию навигации при каждом изменении. Могу ли я получить текущее значение из useState в моем useEffect или требуется другое решение?