Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在登录按钮单击后更改页面_Javascript_Reactjs_Firebase_Firebase Authentication - Fatal编程技术网

Javascript 如何在登录按钮单击后更改页面

Javascript 如何在登录按钮单击后更改页面,javascript,reactjs,firebase,firebase-authentication,Javascript,Reactjs,Firebase,Firebase Authentication,我正在ReactJS上创建一个登录页面,如果登录成功,我想加载另一个页面。我还使用Firebase和react路由器) 这是我“Login.js”的一部分: import React,{useState}来自“React” 从“./firebase配置/firebase”导入火 函数登录(){ const Login_Submit=()=>{ Fire.auth().signiWithEmailandPassword(电子邮件,密码)。catch(函数(错误){ //在这里处理错误。 var e

我正在ReactJS上创建一个登录页面,如果登录成功,我想加载另一个页面。我还使用Firebase和react路由器)

这是我“Login.js”的一部分:

import React,{useState}来自“React”
从“./firebase配置/firebase”导入火
函数登录(){
const Login_Submit=()=>{
Fire.auth().signiWithEmailandPassword(电子邮件,密码)。catch(函数(错误){
//在这里处理错误。
var errorCode=error.code;
var errorMessage=error.message;
// ...
console.log(错误代码+错误消息)
});
Fire.auth().onAuthStateChanged(函数(用户){
如果(用户){
//用户已登录。
//这是我要加载其他页面的地方
}否则{
//没有用户登录。
}
});
}
返回(
登录
)
}
导出默认登录名
我是ReactJS的初学者,所以谢谢你的帮助

React没有“页面”。这个想法更多的是“显示”或“隐藏”组件,这会给用户一个页面/视图的印象

在React中实现路由的最简单方法是使用声明性路由器库,如React router,特别是对于更复杂的应用程序

尝试react router dom的链接组件,并将其作为路径传递到您希望在onClick上重定向的任何位置

import { Link } from 'react-router-dom'


<Link to={'/Components'}>
  <button > Click Me </button>
</Link>
const {Link, BrowserRouter} = window.ReactRouterDOM
function App(){
  return (
  <BrowserRouter>
      <button><Link to='/abc' target='_blank'> Click Me  </Link></button>

    </BrowserRouter>
  )
}

ReactDOM.render(<App/>, document.getElementById("root"))
从'react router dom'导入{Link}
点击我
const{Link,BrowserRouter}=window.ReactRouterDOM
函数App(){
返回(
点击我
)
}
ReactDOM.render(,document.getElementById(“根”))
React没有“页面”。这个想法更多的是“显示”或“隐藏”组件,这会给用户一个页面/视图的印象

在React中实现路由的最简单方法是使用声明性路由器库,如React router,特别是对于更复杂的应用程序

尝试react router dom的链接组件,并将其作为路径传递到您希望在onClick上重定向的任何位置

import { Link } from 'react-router-dom'


<Link to={'/Components'}>
  <button > Click Me </button>
</Link>
const {Link, BrowserRouter} = window.ReactRouterDOM
function App(){
  return (
  <BrowserRouter>
      <button><Link to='/abc' target='_blank'> Click Me  </Link></button>

    </BrowserRouter>
  )
}

ReactDOM.render(<App/>, document.getElementById("root"))
从'react router dom'导入{Link}
点击我
const{Link,BrowserRouter}=window.ReactRouterDOM
函数App(){
返回(
点击我
)
}
ReactDOM.render(,document.getElementById(“根”))

首先,您需要react路由器dom,然后将其解构重定向

像这样

从'react router dom'导入{Switch,Route,Redirect};
然后,如果用户已登录(基于当然状态),您将编写重定向到页面的条件

像这样的

render(){
返回(
这个.props.currentUser?
() : 
()} 
/>
);
}

首先,您需要react路由器dom,然后将其解构重定向

像这样

从'react router dom'导入{Switch,Route,Redirect};
然后,如果用户已登录(基于当然状态),您将编写重定向到页面的条件

像这样的

render(){
返回(
这个.props.currentUser?
() : 
()} 
/>
);
}

这正是我想要做的。如果在firebase上成功登录,则使用react路由器让用户说出:
localhost/login
(login.js)并加载
localhost/menu
(menu.js)。但我该怎么做呢?这正是我想做的。如果在firebase上成功登录,则使用react路由器让用户说出:
localhost/login
(login.js)并加载
localhost/menu
(menu.js)。但是我该怎么做呢?