我使用React Router为我的React.js应用程序提供了以下结构:
var Dashboard = require('./Dashboard');
var Comments = require('./Comments');
var Index = React.createClass({
render: function () {
return (
<div>
<header>Some header</header>
<RouteHandler />
</div>
);
}
});
var routes = (
<Route path="/" handler={Index}>
<Route path="comments" handler={Comments}/>
<DefaultRoute handler={Dashboard}/>
</Route>
);
ReactRouter.run(routes, function (Handler) {
React.render(<Handler/>, document.body);
});
Run Code Online (Sandbox Code Playgroud)
我想将一些属性传递给Comments组件.
(通常我会这样做<Comments myprop="value" />)
使用React Router,最简单,最正确的方法是什么?
我正在使用react-react进行反应.我试图在反应路由器的"链接"中传递属性
var React = require('react');
var Router = require('react-router');
var CreateIdeaView = require('./components/createIdeaView.jsx');
var Link = Router.Link;
var Route = Router.Route;
var DefaultRoute = Router.DefaultRoute;
var RouteHandler = Router.RouteHandler;
var App = React.createClass({
render : function(){
return(
<div>
<Link to="ideas" params={{ testvalue: "hello" }}>Create Idea</Link>
<RouteHandler/>
</div>
);
}
});
var routes = (
<Route name="app" path="/" handler={App}>
<Route name="ideas" handler={CreateIdeaView} />
<DefaultRoute handler={Home} />
</Route>
);
Router.run(routes, function(Handler) {
React.render(<Handler />, document.getElementById('main'))
});
Run Code Online (Sandbox Code Playgroud)
"链接"呈现页面但不将属性传递给新视图.以下是视图代码
var React = require('react');
var …Run Code Online (Sandbox Code Playgroud) 是否可以通过Linkreact-router中的组件传递对象?
就像是:
<Link to='home' params={{myObj: obj}}> Click </Link>
以同样的方式,我会通过props从Parent到Child组件.
如果不可能实现这一目标的最佳方式是什么:
我有一个React + Flux应用程序,我用一些数据渲染表格.我想要做的是当我点击其中一行时,它将带我到这一行的一些细节组件.这行包含了我需要的所有数据,所以我认为如果我能通过它就会很棒Link.
另一个选项是传递idurl中的行,在详细信息组件中读取它,并通过ID从商店请求数据.
不确定实现上述目标的最佳方法是什么......