У меня есть (например) два компонента в React. Первый, app.js, является корневым компонентом. Он импортирует некоторые данные JSON и помещает его в свое state. Это прекрасно работает (я вижу это в React devtools).
import data from '../data/docs.json';
class App extends Component {
constructor() {
super();
this.state = {
docs: {}
};
}
componentWillMount() {
this.setState({
docs: data
});
}
render() {
return (
<Router history={hashHistory}>
<Route path="/" component={Wrapper}>
<IndexRoute component={Home} />
<Route path="/home" component={Home} />
<Route path="/docs" component={Docs} />
</Route>
</Router>
);
}
}
Второй, docs.js, предназначен для отображения данных JSON. Для этого ему необходимо получить доступ к state app.js На данный момент это ошибки, и я знаю, почему (this не включает app.js). Но как тогда я могу передать state из app.js в docs.js?
class Docs extends React.Component {
render() {
return(
<div>
{this.state.docs.map(function(study, key) {
return <p>Random text here</p>;
})}
</div>
)
}
}