我的react组件有问题。基本上,我的界面应该是一个用ReactJS构建的SPA。
在使用auth0-js实现身份验证的过程中,我还实现了一些路由。布局如下所示:

每当我点击"Recipes“链接时,它应该重定向到路由"/recipes”。但是,当我使用<Route path="/recipes" component={Recipes} />实现路由时,它只呈现Recipes组件中实际返回的内容。我从react做的事情中知道这是正确的。现在,我想保留导航栏,但只想交换下面的组件,所以我想像在App.js中一样更改导航栏下面的内容。
我如何才能做到这一点?是路由或组件有问题吗?我不想总是重新渲染所有的东西。我也想保持整个页面的风格。有没有办法做到这一点?
整个代码可以在here上找到。
发布于 2018-02-12 00:50:01
如果您将导航组件放在开关的上方,它将解决您的问题。
const Routes = () => (
<Router history={history} component={Home}>
<Route component={Navigation}/>
<Switch>
<Route exact path="/" render={props => <Home auth={auth} {...props} />} />
<Route path="/home" render={props => <Home auth={auth} {...props} />} />
<Route
path="/callback"
render={props => {
handleAuthentication(props);
return <Callback {...props} />;
}}
/>
<Route component={NotFound} />
</Switch>
</Router>
);https://stackoverflow.com/questions/48733026
复制相似问题