javascript - React Navigation - 无法更新标题
问题描述
我的反应本机应用程序上有以下代码,但是当我在登录后导航到仪表板屏幕时无法更新屏幕标题。这很简单,但因为我不明白这里有什么问题,所以我发布了这个。
登录呼叫后,我导航到仪表板。
this.props.navigation.navigate('Dashboard', {
title: 'Dashboard'
})
我的 DashboardScreen.js 如下。
这与 react 导航库的文档中的完全一样。
class DashboardScreen extends React.Component {
static navigationOptions = ({navigation}) => {
const {params} = navigation.state;
let title = navigation.state.params.title ? navigation.state.params.title : 'This is Sparta!';
return {
title: title
};
};
constructor(props) {
super(props);
}
render() {
return (
<ScrollView>
<Card>
<Text>Dashboard Screen</Text>
</Card>
</ScrollView>
)
}
}
我的基础 StackNavigator。
const StackNavigator = createStackNavigator({
Login: {
screen: LoginScreen
},
Dashboard: {
screen: DashboardScreen
}
}, {
initialRouteName: "Login",
});
class App extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<StackNavigator/>
)
}
}
export default App;
我是反应原生的新手,所以反应导航对我来说也是新的。尝试了各种方法,包括使用 navigationOptions 传递额外的道具。
有人可以指出确切的问题吗?提前致谢。
解决方案
class DashboardScreen extends React.Component {
constructor(props) {
super(props);
this.state = {
title: this.props.navigation.state.params.title
};
}
render() {
return (
<ScrollView>
<Card>
<Text>{this.state.title}</Text>
</Card>
</ScrollView>
)
}
}
我希望这能帮到您。
推荐阅读
- ruby-on-rails - 如何防止对象在与连接的多对多关系中被冗余创建
- python - 如何在 Python 中围绕 Y 轴旋转一维分段函数
- reactjs - MUI-Autocomplete 不更新选择值
- laravel - 删除附加到帖子 vue laravel 的特定评论
- sql - 由于日期过滤器使其运行缓慢而需要优化的 Oracle 查询
- javascript - 用于 swagger 的 Js/Jquery 注入脚本未在 IE11 上运行
- parquet - ClassCastException:org.apache.drill.exec.expr.holders.NullableDateHolder 不能转换为 org.apache.drill.exec.expr.holders.DateHolder
- r - R使用if next break in for循环出错
- c - 用于解密 C 中的字符串的蛮力函数(凯撒密码)
- c# - 从列表框 C# 向 Arduino 发送多行