Redux: 「combineReducers」のAPIドキュメントで説明されている例のコードエラー?

作成日 2016年04月14日  ·  3コメント  ·  ソース: reduxjs/redux

「combineReducers」のAPIドキュメントの一部として説明されている例では、ストアの作成時に、パラメーターとしての「reducer」がファイル「 app.js 」( let store = createStore(reducer) )のcreateStoreに渡されます。

ただし、「reducers / index.js 」では、関数名は「combineReducers」であり、「reducer」( export default combineReducers({..}) )ではありません。

したがって、ストアの作成時に渡されるパラメーターは「combineReducers」(例: let store = createStore(combineReducers ))ではありませんか?

最も参考になるコメント

いいえと思います。 考えてみれば、Reduxにはレデューサー機能が1つしかない。 この例でcombineReducersを使用してその関数を作成しているという事実は、実装の詳細です。 app.jsに関する限り、その関数内で何が起こっているのか、どのように作成したのか、何をしているのかはわかりません。

また、 reducers/index.jsexport default combineReducers({})場合、実際には「combineReducers」という名前のものを_作成_していないことに注意してください。 「この関数呼び出しの結果を、それが何であれ、それをデフォルトのエクスポートにします」と言っています。 実際、技術的には、その出力には実際の変数名が関連付けられていません。

最後に、 export defaultを実行すると、デフォルトのエクスポートでインポートされたファイルは、ローカル変数に任意の名前を付けることができます。これは、関数定義が、で使用された変数名とは異なる名前をパラメーターに付ける方法と同じです。コールサイト。 例:

function someFunction(a, fred, randomVariableName) {}

const firstVariable = 1;
const theMeaningOfLife = 42;
const aTotallyUselessName = "Whatever";

someFunction(firstVariable, theMeaningOfLife, aTotallyUselessName);

関数の外部で定義する変数名が、関数の内部のパラメーター名とどのように対応している必要がないかに注意してください。

同様に、エクスポートする場合:

// fileA.js
export default const aThing = 42;

// fileB.js
import iCanGiveThisAnyNameIWant from "fileA";

全てのコメント3件

いいえと思います。 考えてみれば、Reduxにはレデューサー機能が1つしかない。 この例でcombineReducersを使用してその関数を作成しているという事実は、実装の詳細です。 app.jsに関する限り、その関数内で何が起こっているのか、どのように作成したのか、何をしているのかはわかりません。

また、 reducers/index.jsexport default combineReducers({})場合、実際には「combineReducers」という名前のものを_作成_していないことに注意してください。 「この関数呼び出しの結果を、それが何であれ、それをデフォルトのエクスポートにします」と言っています。 実際、技術的には、その出力には実際の変数名が関連付けられていません。

最後に、 export defaultを実行すると、デフォルトのエクスポートでインポートされたファイルは、ローカル変数に任意の名前を付けることができます。これは、関数定義が、で使用された変数名とは異なる名前をパラメーターに付ける方法と同じです。コールサイト。 例:

function someFunction(a, fred, randomVariableName) {}

const firstVariable = 1;
const theMeaningOfLife = 42;
const aTotallyUselessName = "Whatever";

someFunction(firstVariable, theMeaningOfLife, aTotallyUselessName);

関数の外部で定義する変数名が、関数の内部のパラメーター名とどのように対応している必要がないかに注意してください。

同様に、エクスポートする場合:

// fileA.js
export default const aThing = 42;

// fileB.js
import iCanGiveThisAnyNameIWant from "fileA";

@markeriksonこれらの素晴らしい答えをありがとう。

@markeriksonありがとうございます。

Reactの知識を除いて、JQueryで使用するReduxを学んでいます。 あなたの答えは、Reactコードの例をよりよく理解するのに役立ちます。

このページは役に立ちましたか?
0 / 5 - 0 評価