我的应用程序索引以:
开头ReactDOM.render(
<Provider store={store}>
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Main} />
<Route path="/search" component={MovieSearch} />
<Route path="/movies" component={MovieList} />
</Route>
</Router>
</Provider>,
document.getElementById('root')
);
My Main.js:
render() { return (<div>{this.props.children}</div> )}
当我访问URI时: / movies 在将组件连接到商店之前,MovieList道具保持未定义状态。它是否正确?我需要将每个组件连接到商店才能访问状态?没有这个,我无法从Main父道具中获得道具?
我真的需要调用mapStateToProps,有时需要mapDispatchToProps来访问状态和操作吗?
这是默认/良好做法吗?
答案 0 :(得分:1)
答案是,是
除非您拥有from .models import Job
class JobListView(ListView):
template_name="jobs/list.html"
queryset = Job.objects.order_by('-created')
paginate_by = 10
组件,否则您需要连接每个组件以使用layout
。
您可以查看one of my project。我使用page.js作为我的路由器。这很简单,也解决了我的目的。对于每个路由,我传递要渲染的组件的名称。因此,将加载redux
页面,我连接redux并将状态作为layout
传递给子组件。并基于props
传递的render
。我将在router
。
使用layout
是一种非常好的做法。它成为渲染所有组件的常见位置。
有用的链接:
<强> [更新] 强>
您还应该查看Redux Router