私はすべてのコンポーネントが利用できるようにするために私のアプリにいくつかのグローバル変数を設定しようとしています。たとえば、「言語」プロパティと「ステータス」プロパティを各コンポーネントに渡したいとしましょう。このプロパティはページにレンダリングされず、代わりに各コンポーネントの小道具に追加されます。これは、各コンポーネントが適切なスタイルと言語をロードして出力するときにその変数を確認できるようになります。小道具(またはグローバル変数)を取得
ルータに小道具を追加するなどの簡単なことが望めましたが、何を試しても、小道具は私の子供のコンポーネントで「未定義」として戻ってきます(メインのlayoutWrapperコンポーネントのみが小道具を取得します)。これはこれまでの様子です:
//app.js
var LayoutWrapper = React.createClass({
render: function() {
return (
<Layout status="available" />
);
}
});
ReactDOM.render(
<Router history={hashHistory}>
<Route path="/" language="en-gb" component={LayoutWrapper}>
<IndexRoute component={Index}></IndexRoute>
</Route>
</Router>,
app);
ああ、意味があります。私はフラックスを使用して各コンポーネントに状態(mongodbインスタンスから取得)を与えましたが、コンポーネントの外で使用できることはわかりませんでした。私はReduxを見てみましょう、私はそれがフラックスと同じものであることを認識しませんでした、私は後で還元を学ぶつもりでした。 –
ええ、国家フレームワークの全体的なポイントは、階層的に関連していないコンポーネント(とそれが意味を成すならば同様です)間の状態を共有するのに役立ちます。 ReduxはFluxに比べて、単一のストア(状態の追跡が容易になります)、移動時間、ホットリロードなど、いくつかの利点があります。 – ZekeDroid
それは完璧な意味合いを持っています。私は実際には、それぞれのコンポーネントごとに異なる店舗を作らなければならないということを本当に喜んでいませんでした。助けてくれてありがとう! –