为什么仅在更改第二个URL时重新加载页面?

时间:2019-09-17 09:34:52

标签: javascript reactjs react-router

我试图通过react-router创建专用路由,但是我的应用仅在第二次URL更改时才重新加载。这是为什么?

这是我在路由器内部的交换机:

            <Switch>
                {listId ? <PrivateRoute updatePath={`/list/${listId.listId}`} component={ListManager}/> : null}
                <PrivateRoute updatePath='/search' component={Search}/>
            </Switch>

这是我的私人路线:

const PrivateRoute = ({ updatePath, component, ...options }) => {
    const isAuthenticated = useSelector(
        state => state.auth.token
    );

    return (
        <Fragment>
            {isAuthenticated ? (
                <Fragment>
                    <Route {...options} path={updatePath} component={component}/>
                    <Redirect to={updatePath}/>
                </Fragment>
            ) : (
                <Fragment>
                    <Route path="/auth" component={Auth}/>
                    <Redirect to='/auth'/>
                </Fragment>
            )}
        </Fragment>
    )
}

0 个答案:

没有答案