У меня есть (например) два компонента в 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>
)
}
}