我在我的应用中使用react-router-navigation。假设我们有一个登录页面,用户必须输入他的用户名,用户输入时该用户名应显示在导航栏中。
鉴于路由是在实际组件的其他地方定义的,组件没有回调来改变路由道具:是否有可能实现这一点?也许是一些聪明的HOC?想法?
像使用redux或类似方式一直传递用户名的黑客不是选项。更具体一点,我希望能够覆盖组件中Card
(右键,标题,任何)中指定的任何属性。有可能吗?
请在下面找到示例代码, 感谢
class Login extends Component {
render() {
return (
<View
style={{
flex: 1,
flexDirection: 'column',
alignItems: 'center',
}}>
<Text>
Username
</Text>
<TextInput style={{
height: 60,
width: 200,
}}
autoFocus
onChangeText={(value) => {console.log('NAME: ', value)}}/>
</View>
)
}
}
const App = () => (
<NativeRouter>
<Navigation>
<Card path="/"
title="Login"
exact
component={Login}
/>
</Navigation>
</NativeRouter>
)