使用react路由器更改应用程序状态时出现问题
Issues changing App state with react router
在用户登录并验证后,我试图进入用户视图/状态,但似乎无法让react路由器执行此操作。
应用程序的初始状态只是一个静态导航栏,其视图可以正确路由,但当用户登录或验证时,我不确定该怎么办。我是否更改导航栏的状态,并专门为用户登录状态创建一个新的react路由器?
我认为我还不需要使用flux,因为不需要存储数据(除了用户数据)?
以下是路线的样子:
// React
var React = require("react");
var Router = require("react-router");
var Route = Router.Route;
var NotFoundRoute = Router.NotFoundRoute;
var DefaultRoute = Router.DefaultRoute;
var App = require('./components/App.js');
var About = require('./components/About.js');
var Concat = require('./components/Concat.js');
var Home = require('./components/Home.js');
var Landing = require('./components/Landing.js');
var Login = require('./components/Login.js');
var Search = require('./components/Search');
var Signup = require('./components/Signup');
var routes = (
<Route path="/" handler={App}>
<DefaultRoute handler={Landing} />
<Route name="about" path='/about' handler={About}/>
<Route name="concat" path='/concat' handler={Concat}/>
<Route name="home" path='/home' handler={Home}/>
<Route name="login" path='/login' handler={Login}/>
<Route name="search" path='/search' handler={Search}/>
<Route name="signup" path='/signup' handler={Signup}/>
</Route>
);
module.exports = routes;
这是导航栏:
var React = require('react');
var Router = require('react-router');
var Link = Router.Link;
var Navbar = React.createClass({
render: function () {
return (
<div className="navbar navbar-default navbar-static-top">
<div className="container">
<div className="navbar-header">
<button type="button" className="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span className="icon-bar">test</span>
<span className="icon-bar"></span>
<span className="icon-bar"></span>
</button>
</div>
<div className="collapse navbar-collapse">
<ul className="nav navbar-nav">
<li className="active"><Link to="home">Jobletics</Link></li>
<li><Link to="concat">Create a Listing</Link></li>
<li><Link to="search">Search Jobs</Link></li>
<li><Link to="about">About</Link></li>
</ul>
<ul className="nav navbar-nav navbar-right">
<li><Link to="login">Log in</Link></li>
<li><Link to="signup">Sign up</Link></li>
</ul>
</div>
</div>
</div>
);
}
});
module.exports = Navbar;
想?
还有几件事需要做。这里不需要通量,但确实需要一点状态处理。这里有一个链接,指向旧的提交/解释来自react路由器的身份验证流。
https://github.com/rackt/react-router/blob/de9f8098baee3b5d24b1c337dc9aa0e7439a295e/examples/auth-flow/app.js
我发布旧版提交的原因是,更新最多的提交使用的是es6,我相信甚至是未发布的版本。不过,这个链接应该对你的事业很好。
相关文章:
- 使用应用程序状态js和视图在angular js url上传递两个参数
- 来自应用程序状态的Jquery数据表源
- 检测Ionic中特定的应用程序状态变化
- 使用AsyncStorage实例化持久应用程序状态
- 引导程序窗体帮助程序-状态选择器-选择类
- 如何在类似Om的不可变应用程序状态下对关系数据进行建模
- 在节点.js中保存应用程序状态
- 在 React + Flux 中从子项更新应用程序状态
- 输入模式应用程序状态,直到下次使用 Jquery 单击
- Rails API-移动应用程序状态文本错误
- 什么'是在AngularJS中处理应用程序状态和事件广播的最佳实践
- React.js:从独立组件访问整个应用程序状态
- Backbone.js如何根据特定的应用程序状态定义一组自定义路由
- 使用基于应用程序状态/数据的UI路由器
- Onkeyup或onkeypress javascript事件问题-密码状态更新
- 关于最后付款完成问题的状态401
- Ionic混合应用程序,在退出时保存应用程序状态/数据
- Jquery ajax问题-即使状态码是200也会出错
- 在AJAX应用程序中保持web应用程序状态
- 使用react路由器更改应用程序状态时出现问题