1

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

0 回答 0