Наличие отдельных файлов для действий, но использование одного магазина в Mobx. (React-родной) - PullRequest
0 голосов
/ 18 марта 2020

Я думал об использовании нескольких файлов для хранения моих actions в Mobx. React-Native

как-то так:

//store.js

export default class Store {
   @observable property = "change me";
}

//loginActions.js

export default class LoginActions {
   @action changeProperty() {
        //how can i get a reference to the store?
        store.property = "value changed"
   }
}

//LoginComponent.js
@inject(["store"])
@observer
export default class LoginComponent extends Component{
    componentDidMount(){
        //how can i reference my action here to do something like
        LoginAction.changeProperty()
    }

    render(){
        return(
            //i should have a reference to my store here
            <Text>{this.props.store.property}<Text/>
        )
    }
}

Я хочу знать, возможно ли это или имеет какие-либо недостатки? Как я могу передать ссылку на магазин в файл действий и по-прежнему иметь возможность изменить его значения? Как я могу вызвать действия из моих компонентов реагировать?

1 Ответ

0 голосов
/ 18 марта 2020

путем расширения класса Store до класса LoginActions следующим образом:

export class Store {
       @observable property = "change me";
    }

//loginActions.js

export class LoginActions extends Store {
   constructor(property) {
      super()
   }
   @action changeProperty() {
        this.property = "value changed"
   }
}
...