让前端飞

Umi2.x 中Modal.confirm底部按钮热更新显示为中

2020-07-28  本文已影响0人  小遁哥

上篇文章解决了 Modal.confirm 底部按钮为英文的问题,文章链接

结果发现热更新后还是会显示成英文...

antd版本是3.20.0

webpack://[name]/./node_modules/_antd@3.20.0@antd/es/modal/locale.js 文件的代码如下

es 下是es6的版本,lib是es5版本,起初还怀疑热更新时候的代码和初次加载运行的代码不一样...

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

import defaultLocale from '../locale-provider/default';

var runtimeLocale = _extends({}, defaultLocale.Modal);

export function changeConfirmLocale(newLocale) {
  if (newLocale) {
    runtimeLocale = _extends({}, runtimeLocale, newLocale);
  } else {
    runtimeLocale = _extends({}, defaultLocale.Modal);
  }
}
export function getConfirmLocale() {
  return runtimeLocale;
}

defaultLocale 默认是英文的,会调用changeConfirmLocale 变成我们自定义的。

初始运行是这样的,没毛病!


问题在于热更新的时候,会触发componentWillUnmount,啥也没传


这么看来,是一个bug,只能升级版本去解决了。

上一篇 下一篇

猜你喜欢

热点阅读