- Импортируешь Provider в файл index.js, чтобы не пробрасывать props через каждый дочерний компонент:
import { Provider } from "mobx-react";
- В файле index.js оборачиваешь компонент рендеринга в Provider:
ReactDOM.render(<Provider store={store}>
<App />
</Provider>, document.getElementById('root'));
- Импортируешь inject в нужный компонент, где нужно использовать тебе store:
import { inject } from "mobx-react";
- Если классовый компонент, можешь повесить @inject("store") перед объявлением класса, где значение в скобках — название твоего пропса, который ты передаешь в Provider в index.js:
import React, { Component } from 'react';
import { inject } from "mobx-react";
@inject("store")
class Form extends Component {
render() {
return (
<form className="form">
<select>
<option></option>
</select>
</form>
);
}
}
export default Form;
- Если компонент функциональный, то можно сделать так:
import React from "react";
import { inject } from "mobx-react";
const App = () => {
return <div className="App">Hello World!</div>;
};
export default inject("store")(App);