我的react redux专用路由器不工作。它只是向我展示了我试图访问的路线的空白页。我的州没有在Redux开发工具上加载。这也可能是HashRouter的问题吗?My PrivateRoute组件:
import React from "react";
import { connect } from "react-redux";
import {Router, Redirect, withRouter } from "react-router-dom";
import PropTypes from 'prop-types';
class PrivateRoute extends React.Component {
static propTypes = {
isAuthenticated: PropTypes.bool,
}
isLoggedin = () => {
return this.props.isAuthenticated;
};
render = () => {
let { component: Component, ...rest } = this.props;
return (
<Router
{...rest}
render={(props) =>
this.isLoggedin() ? (
<Component {...props} />
) : props.location.pathname === "/" ? null : (
<Redirect to="/" />
)
}
/>
);
};
}
const mapStateToProps = (state) => ({
auth: state.auth,
isAuthenticated: state.auth.isAuthenticated
})
export default withRouter(connect(mapStateToProps, null)(PrivateRoute));
我的应用程序,我正在包装我的路线,使其成为私人:
import {Provider} from 'react-redux';
import store from './store'
import {loadUser} from './actions/authActions'
import PrivateRoute from './components/auth/PrivateRoute'
class App extends React.Component {
componentDidMount(){
store.dispatch(loadUser())
}
render(){
return (
<Provider store={store}>
<HashRouter basename="/">
<Navbar />
<Route exact path="/" component={Home}/>
<PrivateRoute path="/aeons" component={AeonsList} />
<PrivateRoute path="/carrefours" component={CarrefoursList} />
<PrivateRoute path="/farmers" component={FarmersList} />
<PrivateRoute path="/foodhalls" component={FoodhallsList} />
<PrivateRoute path="/grands" component={GrandsList} />
<PrivateRoute path="/heros" component={HerosList} />
<PrivateRoute path="/primos" component={PrimosList} />
<PrivateRoute path="/ranchos" component={RanchsList} />
</HashRouter>
</Provider>
)
}
}
export default App;
定义privateRoute组件时,需要导入路由
,而不是路由器
。
从react-router-dom导入{Road};
检查一下这个
示例中提供了PrivateRoutehttps://reacttraining.com/react-router/web/example/auth-workflow 与Redux连接后不工作。 我的PrivateRoute看起来与原始版本几乎相同,但只连接到Redux,并在原始示例中使用它而不是fakeAuth。 用法和结果:- 不起作用,但需要
我使用react和laravel开发了一个应用程序来显示酒店列表。当用户点击一个单一的酒店,我希望该酒店的细节显示在一种类型的‘单一’视图。然而,尽管在主列表视图中,我使用正确的路由模式链接到单个页面,并且我在路由器中定义了该模式,但当我单击该链接时,我会被带到一个“404 not found”页面。 编辑文章的编辑链接也是如此。 任何关于如何解决这个问题的想法都将非常感谢! 谢谢, 罗伯特·杨
最近,我一直试图通过Kotlin制作一个注释处理器,但我似乎无法让它工作。所有东西都会编译,我不会出现任何错误,但当我检查jar文件的内容时,我看不到我试图创建的资源。 我已经尝试了几个小时的一切,我真的卡住了,所以只是寻求帮助:/我确实有一个随机类注释,看看它是否会工作,但没有运气。 注释类 处理器类 我的建筑
以下是react router的一个示例,介绍如何为受保护的路由添加组件: https://reacttraining.com/react-router/web/example/auth-workflow 我已经尝试在我的Typescript项目中实现这个功能,使用上面的例子作为灵感。 组件/路线 连接器/专用线路 组件/专用路由 错误
反应路由路径不工作 它在所有URL中仅显示产品组件 我已经灌输了react路由器dom,还导入了BrowserRouter作为路由器、交换机、路由、链路 到底是什么问题?我想不出来。
重新加载后,私人路由重定向到授权开始之前的 /login,因为初始redux状态对它们两者都是假的。 这些是路由器的日志: PrivateRoute.js:16加载:false isAuthenticated:false PrivateRoute.js:16加载:true isAuthenticated:false PrivateRoute.js:16加载:false isAuthenticate