Используйте MobX @inject с Context API в функциональных компонентах - PullRequest
0 голосов
/ 10 июля 2020

Как я могу реализовать @inject и Observer в функциональных дочерних компонентах без явного импорта хранилища с контекстом и его деструктуризации. Репо и развернутый сайт ниже

https://laughing-mayer-7a7c36.netlify.app/

https://github.com/hildakh/testmobx

1 Ответ

0 голосов
/ 11 июля 2020

Вы можете сделать такой хук, поэтому вам не нужно будет каждый раз импортировать контекст, просто этот хук:

export const useStore = () => {
  const store = React.useContext(storeContext)
  if (!store) {
    // this is especially useful in TypeScript so you don't need to be checking for null all the time
    throw new Error('useStore must be used within a StoreProvider.')
  }
  return store
}

И вы все равно можете использовать inject декоратор с функциональными компонентами, если хотите таким образом, он все еще работает, и это совершенно нормально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...