反应路由器找不到变量:历史

时间:2018-07-04 09:11:45

标签: reactjs react-router

设置简单的登录名后,我尝试使用onPress={() => history.push('/Page')}

链接到另一个组件

但在日志中显示:

  

找不到变量:历史记录

问题是:即使组件只有路由器和链接,使用NativeRouter和Router也可以工作。但是如果组件还有其他东西链接textinput,text等,则输入和文本会继续显示。

下面的示例,单击链接后,即使使用switch和精确,登录组件和注册组件也会显示在同一屏幕上。

因此,唯一的方法似乎是使用历史记录。但添加后显示此

  

找不到变量:历史记录

有人可以在此反应路由器问题上保留一些提示吗?

谢谢

import React, { Component } from 'react';
import { Text, TextInput, View, StyleSheet } from 'react-native';
import { Card, Button, CardSection, Input} from '../components';
import { NativeRouter, Router, Link } from 'react-router-native'


import Home from './Home';
import Signup from './Signup';

class Login extends Component {
    render() {
        return (
<NativeRouter>
     <Card>
       <Text> Login </Text> 
            <Input placeholder = "Email" /> 
            <Input  secureTextEntry = { true } placeholder = "Password"/>
            <Button onPress={xxx}>
            Log in            
            </Button> 
       <Link to='/Signup'><Text>create account</text></Link>
     <Router exact path="/Signup" component={Signup}  />
     </Card>
</NativeRouter>
        );
    }
}
export default Login;

1 个答案:

答案 0 :(得分:1)

重复How to push to History in React Router v4?

简而言之,您有3种选择来制作history.push()