1
给出以下内容;reactjs:如何以编程方式替换整个路由表
let render =() => {
const routes = require('./routes/index').default(store)
ReactDOM.render(
<AppContainer store={store} routes={routes} />,
MOUNT_NODE
)
}
// ========================================================
// Go!
// ========================================================
render()
与假设整个应用程序内置知道所有的路线和商店工作。
我想在应用程序运行后重建路线并以编程方式存储。
新的路由和商店作为一个插件进来,我将通过以插件方式注入一个插件bundle.js以编程方式引入。所以我不知道前面的路线或商店。
我已经完成了这个使用riotjs,我可以交换出整个路由表,并动态地添加和删除商店。我现在刚开始学习react-redux,并希望得到一些关于我的研究重点的提示。
更简明的例子
let store = createStore1()
let store2 = createStore2()
let routes = require('./routes/index').default(store)
let routes2 = require('./routes2/index').default(store2)
let render =() => {
ReactDOM.render(
<AppContainer store={store} routes={routes} />,
MOUNT_NODE
)
}
// ========================================================
// Go!
// ========================================================
render()
我想在运行时以编程切换到routes2和商店2。
你不能使用'redux'将''dispatch'路由转换成全局状态,每次需要改变它们,然后从'AppContainer'中的状态获取它们? – Purgatory
@实验室我想我做了你的建议。我使用MobX作为我的状态管理库并将我的路由标记为可观察对象。我改变了路线,我的AppContainer刷新了。新路线可以随意动态添加和删除。谢谢 –
你应该发布这个答案并接受它,以便其他人可以看到你的问题已经解决,特别是如果你自己解决它。 – Purgatory