Mobx + React 不会更新渲染的组件
Mobx + React won't update rendered component
我正在使用 mobx 打开和关闭弹出窗口模式(使用 React)
不幸的是,状态的变化没有反映在弹出模式中。可能是什么问题?
编辑:我添加了一个带有更简单示例的沙箱:https://codesandbox.io/s/7z161kyv86
decorate
不起作用,因为 Babel 7 如何转换 class 属性。
通天塔 7
class Foo {
value = 1;
}
// =>
class Foo {
constructor() {
Object.defineProperty(this, "value", {
configurable: true,
enumerable: true,
writable: true,
value: 1
});
}
}
您需要配置 @babel/plugin-proposal-class-properties
插件以使用 loose
模式,以便它以与 Babel 6 相同的方式转换它。
.babelrc
{
"plugins": [
[
require('@babel/plugin-proposal-class-properties').default,
{
loose: true
}
]
]
}
通天塔 6
class Foo {
value = 1;
}
// =>
class Foo {
constructor() {
this.value = 1;
}
}
我正在使用 mobx 打开和关闭弹出窗口模式(使用 React)
不幸的是,状态的变化没有反映在弹出模式中。可能是什么问题?
编辑:我添加了一个带有更简单示例的沙箱:https://codesandbox.io/s/7z161kyv86
decorate
不起作用,因为 Babel 7 如何转换 class 属性。
通天塔 7
class Foo {
value = 1;
}
// =>
class Foo {
constructor() {
Object.defineProperty(this, "value", {
configurable: true,
enumerable: true,
writable: true,
value: 1
});
}
}
您需要配置 @babel/plugin-proposal-class-properties
插件以使用 loose
模式,以便它以与 Babel 6 相同的方式转换它。
.babelrc
{
"plugins": [
[
require('@babel/plugin-proposal-class-properties').default,
{
loose: true
}
]
]
}
通天塔 6
class Foo {
value = 1;
}
// =>
class Foo {
constructor() {
this.value = 1;
}
}