程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在提交表单时进行React Router v4重定向大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在提交表单时进行React Router v4重定向?

开发过程中遇到在提交表单时进行React Router v4重定向的问题如何解决?下面主要结合日常开发的经验,给出你关于在提交表单时进行React Router v4重定向的解决方法建议,希望对你解决在提交表单时进行React Router v4重定向有所启发或帮助;

您必须返回Redirectrender方法(否则将不会被渲染,因此将不会发生重定向):

  render() {
        const redirectToReferrer = this.state.redirectToReferrer;
        if (redirectToReferrer === truE) {
            return <Redirect to="/home" />
        }
        // ... rest of render method code
   }

解决方法

@H_262_12@

全新的响应,在“登录”页面上单击“提交”后尝试重定向到“主页”。尝试遵循React Router教程。

当我单击表单上的提交按钮并在控制台上记录状态和fakeAuth.isAuthenticated时,它们都返回true。但是,重定向不会触发。

Login.js

class Login extends Component {
    constructor(props) {
        super(props);
        this.state = {
            portalId: "",password: "",redirectToReferrer: false
        }

        this.handleSubmit = this.handleSubmit.bind(this);
    }


    handleSubmit(E) {
        fakeAuth.authenticate(() => {
            this.setState({
                portalId: this.refs.portalId.value,password: this.refs.password.value,redirectToReferrer: true
            })
        })
        e.preventDefault();
    }


    render() {
        const redirectToReferrer = this.state.redirectToReferrer;
        if (redirectToReferrer === truE) {
            <Redirect to="/home" />
        }

Routes.js

export const fakeAuth = {
    isAuthenticated: false,authenticate(cb) {
        this.isAuthenticated = true
        setTimeout(cb,100)
    },signout(cb) {
        this.isAuthenticated = false
        setTimeout(cb,100)
    }
}

const PrivateRoute = ({ component: Component,...rest }) => (
    <Route {...rest} render={() => (
        fakeAuth.isAuthenticated === true
        ? <Component {...this.props}/>
        : <Redirect to="/" />
    )}/> 
)


export default () => (
    <BrowserRouter>
        <div>
            <Navbar />
            <Switch>
                <Route path="/" exact component={Login} />
                <Route path="/register" exact component={Register} />
                <Route path="/home" exact component={HomE} />
            </Switch>
        </div>
    </BrowserRouter>
);

大佬总结

以上是大佬教程为你收集整理的在提交表单时进行React Router v4重定向全部内容,希望文章能够帮你解决在提交表单时进行React Router v4重定向所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。