我正在headerRight
内使用自定义按钮覆盖react-navigation,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
数组依赖项中)