javascript - 如何避免 reactjs 索引中的复杂层次结构
问题描述
我正在用 ReactJs + Redux 编写我的第一个应用程序。它变得越来越复杂,添加了更多的爱慕提供者,所以我index.js
开始看起来有点难看:
ReactDOM.render(
<Provider store={store}>
<IntlProvider locale={language} messages={messages[language]}>
<AlertProvider template={AlertTemplate} {...options}>
<BrowserRouter>
<div className='main'>
<Header />
<div className="content">
<Switch>
[...]
<Route path="/list" component={List} />
<Route path="/message" component={MessageList} />
[...]
</Switch>
</div>
<Footer />
</div>
</BrowserRouter>
</AlertProvider>
</IntlProvider>
</Provider>,
问题是:有什么方法可以避免这种层次结构并以更优雅的方式编写相同的内容?
解决方案
ReactDOM.render(
compose(
Provider({ store }),
IntlProvider({ locale: language, messages: messages[language] }),
AlertProvider({ template: AlertTemplate, ...options }),
BrowserRouter(),
// ... Add more HOCs here
)(
<div className="main">
<Header />
<div className="content">
<Switch>
[...]
<Route path="/list" component={List} />
<Route path="/message" component={MessageList} />
[...]
</Switch>
</div>
<Footer />
</div>,
),
);
推荐阅读
- angularjs - 显示/隐藏和重置 angularjs
- marklogic - Marklogic XDMP-ARGTYPE: (err:XPTY0004) arg0 不是 xs:anyAtomicType 类型?
- python - 在 keras 中添加到(预训练/非训练)神经网络的中间层后训练 softmax 层
- visual-studio-code - 在 VSC 中打开特定文件的快捷方式?
- c# - Hololens 未找到捕获设备错误
- vba - 以前可以使用的 Excel VBA 公式现在失败了
- sql - CHARINDEX 跳过评论
- ruby-on-rails - 如何将数据播种到 Rails5 引擎中?
- javascript - 带星号的 JavaScript 模式匹配
- node.js - 在 Javascript 中使用 MQTT 连接到 Azure IotHub