Reactを使用したSNSの作成-Redux(1)
2142 ワード
1.インストールと必要性の説明
(1)デフォルトの冗長インストールと設定
端末にnpm i next-redux next-redux-wrapperを入力してインストール
storeフォルダを作成してStoreを構成します。jsファイルの作成 import { createWrapper } from "next-redux-wrapper"; import { createStore } from "redux"; const configureStore = () => { const store = createStore(reducer, enhancer); return store; }; const wrapper = createWrapper(configureStore, { debug: process.env.NODE_ENV === "development", }); export default configureStore;
### (2) _app.js 파일 수정
> ```
...
import wrapper from "../store/configureStore";
...
export default wrapper.withRedux(NodeBird);
2.李徳思の原理と不変性
(1)李徳思の原理
画像として理解する 大きなリポジトリで使用するデータをメモします。 変えたいアクションを作る パッチ処理により、リポジトリのデータ値が変更されます。 このとき変化するのはreducerです。 stateとreduceを含めてstoreです。
不変性の理解 reduceから値を返す..。state, name: action.なぜデータに似ているのですか? =>オブジェクトは{}={}//falseなので、前のオブジェクトをインポートした後、変更したいオブジェクトを変更するだけです。 =>参照関係で直接変更すると、元のオブジェクトが変更されます。 =>これもメモリを節約するためです。
3.実装Ridex
(1)InitialStateの作成
const initialState = {
name: "dongduu",
age: 23,
password: "dlehdwn412",
};
(2)actionの作成
const changeNickname = (data) => {
return {
type: "CHANGE_NICKNAME",
data,
};
};
=>データを受信し、直接変更できるようにします.=>これにより、actionの作成を最小限に抑えることができます.
(3)減速機の作成
const rootReducer = (state = initialState, action) => {
switch (action.type) {
case "CHANGE_NICKNAME":
return {
...state,
name: action.data,
};
}
};
export default rootReducer;
=> configureStore.jsで受け入れる.(4)アクションの使用
changeNickname("leedongjoo");
// {
// type: "CHANGE_NICKNAME",
// data: 'leedongjoo'
// }
store.dispatch(changeNickname("dj"));
Reference
この問題について(Reactを使用したSNSの作成-Redux(1)), 我々は、より多くの情報をここで見つけました https://velog.io/@dongduu/React로-SNS-만들기-Redux-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol