Open programmer-yang opened 7 years ago
棒棒棒哒
写得很好,6666
能帮到大家才是最好的
这边有个问题,升级到2.0的时候,发现报了这个错以及提示 Cannot find module "./router",请问这个要怎么解决。
@DoubleMingZMM 不好意思,今天才看到你的问题,请问现在问题解决了吗? dva2.x默认使用了router4,找不到可能是因为解析不了原来的写法,尝试在router.jsx里写一个router4最基础的路由看看能找到不
请教一下,有办法统一处理location.query的方法吗,类似全局钩子的?
@youyuxun 其实手动处理起来还是蛮简单的 如果想统一处理的话可以考虑在最上层的容器组件里处理掉,然后传递到子组件中去 比如:
<BrowserRouter>
<Container /> // 在这个容器里统一处理
</BrowserRouter>
import React, { Component } from 'react'
import queryString from 'query-string'
class Container extends Component {
componentWillMount() {
const { location } = this.props
// 在这里处理
const queryData = queryString.parse(location.search)
this.setState({ queryData })
}
render() {
const { queryData } = this.state
return (
<div>
<Route path="/about" render={() => <About {...{ queryData }} />} />
</div>
)
}
}
export default Container
还有很多种别的写法,参考下吧 ^_^
更正:问题二 嵌套路由 locatgion
=> location
@tsejx 谢谢,已经修改
路由嵌套非常给力
@songqiaoyi
router4版本把route
修改成组件后变的很自由了,可以随意拼装,跟积木一样,哈哈
location.query
我的项目升级到@dva2.x版本了,为何location.query依然能够使用,并未出现你们说的location不包含query?
mark感谢分享
dva 1.x => 2.x
问题一:location.query
问题二 嵌套路由
R4里修改了对于嵌套路由的实现方式
关于
Redirect
问题三 dispatch effect 回调
在dva2.x中新增了effect返回promise的特性,现在写回调逻辑越来yue方便了
问题四 关于使用
browserHistory
在之前的版本中,我们去掉path中的#的方式是
在2.x版本中需要修改为:
其他相关问题
关于
webpack
插件html-webpack-plugin
背景:
dva之前的版本不支持文件hash,现在dva已经支持了这个功能 链接 使用方式是在
.roadhog
中添加hash:true
的配置,默认约定在src下有一个index.ejs
的模板问题
解决方式
问题就是引入了两次
index.js
方法一:删除模板中的index.js
的引用 方法二:在
webpack.config.js
的关于html-webpack-plugin
的配置内容里添加inject: false
参考