gpt4 book ai didi

javascript - 使用 React 重定向

转载 作者:行者123 更新时间:2023-11-28 14:33:12 25 4
gpt4 key购买 nike

我想使用 react-router-dom 进行重定向。这就是我到目前为止所做的:

export function login() {
var email = document.getElementById('email').value;
var password = document.getElementById('password').value;
firebase
.auth()
.signInWithEmailAndPassword(email, password)
.then(() => {
document.getElementById('close').click();
document.getElementById('questions').click();
}
).catch(e => console.log(e));
}

所以我只需单击链接即可将用户重定向到我需要他们去的地方。但代码改变了,这不再起作用了。到目前为止,我使用 Express 作为节点,并通过简单的 res.redirect('path'); 完成重定向。

我做了一些研究,但看不到我的问题的任何当前答案。现在应该怎样做呢?我尝试使用历史记录,但这已被弃用。我看到类似 withRouter 的东西,最后一行总是让我失望:

const ShowTheLocationWithRouter = withRouter(ShowTheLocation)

示例来自here

此外,我的情况下没有类(class)。它只是一个导出方法,因此没有构造函数或 render() 方法。

最佳答案

React 路由器有一个 redirect element登录完成后,您可以有条件地呈现它。

这将需要渲染,你说你没有,你可以做的是创建一个登录组件:

class Login extends Component {
state = {
loggedIn: false
};

componentDidMount() {
yourLoginFunction().then(() => this.setState({loggedIn: true});
}

render() {
const {loggedIn} = this.state;
if(loggedIn) {
return <Redirect to="/post/login/path" />
} else {
return <div>login in progress...</div>;
}
}
}

关于javascript - 使用 React 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50741351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com