Внедрение хранилища MobX State Tree в реакцию на выброс компонентов
Проблема: я получаю сообщение об ошибке при попытке вставить хранилище MST в компонент класса реакции:
Error: Uncaught [Error: MobX injector: Store 'auth' is not available! Make sure it is provided by some Provider
ошибка связана с компонентом LoginForm, опубликованным ниже, и вложена в другой компонент (не уверен, что это проблема, так как каждый компонент нуждается в <Provider>
?)
иерархия компонентов:
Application (contains no Provider)
|__ Authentication (contains no Provider)
|__LoginForm
маленький код:
import { AuthenticationStore } from './stores/AuthenticationStore'
const auth = AuthenticationStore.create()
ReactDOM.render(
<Provider auth={auth}>
<Application />
</Provider>,
document.getElementById('root')
);
//Application
const Application = inject('auth')(observer(class Application extends
Component {
render() {
console.log(this.props.auth) // logs the store as expected
return (
<div className={styles.applicationContainer}>
<Authentication/>
</div>
)
}
}))
export default Application
// LoginForm
const LoginForm = inject('auth')(observer(class LoginForm extends Component {
render() {
return (
<div></div>
)
}
}))
export default LoginForm
и на вопрос:
Если нет, то какой протокол предпочитается передавать хранилище дочерним компонентам (без передачи в качестве реквизита)?
Как всегда, заранее спасибо за любой вклад. Если это дубликат (я не смог найти эту конкретную ошибку), пожалуйста, отметьте как таковой, и я буду обновлять соответственно...