У меня есть (например) два компонента в реактиве. Первый, 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
. На данный момент это ошибки, и я знаю, почему (не включает 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>
)
}
}
Я не могу отправить состояния всем моим 20 компонентам, есть способ сделать это с помощью redux? – stackdave