关于 react 导航 setParams() 的问题。我在 Reactiflux 上询问过,但没有人回应。我正在尝试在功能组件中以编程方式设置标题。
从另一个 Stack Overflow 线程,追溯更新静态标题,像这样,有效:
const Comp = props => { ... };
Comp.navigationOptions = ({ navigation }) => ({
title: 'Static Title'
});
但我需要从组件内访问组件状态,这是行不通的:
const Comp =({ navigation }) => {
const [title, setTitle] = useState('');
useEffect(() => {
navigation.setParams({ title });
}, [title]);
return ( ... );
}
如果setParams()是错误的做法,请赐教
编辑:除此之外,当我 console.log(navigation)
时,我可以看到它正在将 navigation.state.params.title
更改为正确的字符串,但是它没有显示为标题。
最佳答案
您需要获取标题参数并将其应用于标题:
Comp.navigationOptions = ({ navigation }) => ({
title: navigation.getParam('title', /* your default title */)
});
关于react-native - 使用 Hook 以编程方式更新功能组件中的 react 导航标题标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56588270/