我在我的应用程序中使用 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>
)