美文网首页
mobx结合useContext没有触发更新

mobx结合useContext没有触发更新

作者: CRJ997 | 来源:发表于2021-10-18 12:17 被阅读0次
// mobx home store
import {  observable, action } from 'mobx;

class Home {
  @observable
  public a = 'button';
  
  @action
  setA =  (a: string) => {
    this.a = a;
  };
}

export default new Home();
import React from 'react';
// context.ts
import homeStore from './homeStore';
export default homeContext = React.createContext({
  homeStore
});
// componentA
import React from 'react';
import homeContext from './homeContext'

export default function ComponentA (props) {
  const { a, setA } = useContext(homeContext);

  return (
    <button onClick={() => { setA('NICE') }}>{a}</button>
  );
}

点了之后按钮文字没有变化

解决方案用mobx-react的inject和observer去装饰function component。

相关文章

网友评论

      本文标题:mobx结合useContext没有触发更新

      本文链接:https://www.haomeiwen.com/subject/ulfnoltx.html