alibaba / rax

🐰 Rax is a progressive framework for building universal application. https://rax.js.org
Other
7.99k stars 624 forks source link

在微信小程序中使用mobx 不生效。 #2195

Closed yumo-mt closed 3 years ago

yumo-mt commented 3 years ago

代码如下:

import { observer } from 'mobx-rax';
import { observable, action, decorate } from 'mobx';
import './index.scss';

class Store {
  state = 'initMobx';

  changeState = () => {
    console.log('变更了状态');
    this.state = '状态变更了Mobx';
  };
}

decorate(Store, {
  state: observable,
  changeState: action,
});

const store = new Store();

function Home() {
  return (
    <View className="homeContainer">
      <Text className="homeTitle">Hello, my friend, mobx</Text>
      <Text className="homeTitle">{store.state}</Text>
      <Text className="homeTitle" onClick={store.changeState}>更改状态</Text>
    </View>
  );
}

const Box = observer(Home);

export default Box;

mobx@5.x mobx-rax@1.0.1 执行 changeState 不生效。微信小程序上是没有变化的。 但是在web上可以正常change。这个是因为什么?

cryzzchen commented 3 years ago

在微信小程序下使用该demo无法重现

yumo-mt commented 3 years ago

运行时下是没有问题的,编译时 就会有问题。你试一下 @cryzzchen