- ant-design 的 date 相关组件的数据是 moment 格式。参见,moment.js 。一般格式转成 moment 是 moment(Date.now())。moment 格式转成一般格式是:
获取时间戳 : var res = moment(Date.now(), 'YYYY-MM-DD HH:mm:ss').valueOf(); 获取格式时间: var res = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss'); // 对于时间的转换需要指定格式 var time = moment('12:21:12', 'HH:mm:ss')
- 在 model 的 reducers 中能不能再调用 reducer?答案:经实验,不能。
- 在 model 的 effects 中能不能再调用 effect?答案:能。
dva中effect内调用另一个effect的,实现put阻塞式调用的方法 - proxy 代理优先级问题
很难说这是 dva 的问题还是 webpack 的问题。总之,如果已经匹配到了代理路径,那么就不会再检查后面的代理。比如:’/api’ 这条规则在 ‘/apiV2’ 前面,那么,后面一条将不会生效,因为 ‘/api’ 已经满足匹配条件了。当然,这只是今天的观测结果,没有进行严格验证。 - 无法配置 svg-sprite-loader 的问题
在 webpack.config.js 里面,可以拿到 webpack 配置对象。
module.exports = function (webpackConfig, env) { webpackConfig.module.rules.push({ test: /\.svg$/, include: resolve('src/assets/svgs'), use: [ { loader: 'svg-sprite-loader', options: { symbolId: 'icon-[name]', } } ] }) }
但是,仅仅这样配置是不生效的。需要将默认配置里有关 svg 配置排除掉我们放图标的文件夹。可是,打印出 webpackConfig.module.rules 后,我并没有发现和 svg 有关的配置。后来几经折腾,找到一个配置项,rules[1] 里并没有 test 选项,但有 exclude 选项,并且使用了 url-loader。我想,应该就是这个了。将图标目录 push 到 exclude 选项中,果然成功了。SvgIcon 组件终于可以拿到需要的 svg 图标了。
- put 需要使用 yield 关键字,否则不生效
- put 是非阻塞的,为了使用 yield 获取到 resolve 的结果,需要用 put.resolve 或者 putResolve。前者是旧版本,后者是新版本。