スタート[React-Redux][1]
6526 ワード
ユデミの講座でまとめた内容です.
1.Context APIの欠点
context APIの欠点
1)インストールプロセスが複雑で、大規模なアプリケーションを作成する際の欠点がより際立っている.
各contextを作成する場合
コンテキスト内
両方とも...
2)性能があまり理想的でない:頻繁に変化する状態に合わない
「Reduxはこの2つの欠点を解決します!!」
すべての州は、中央データ(Store)に格納されています. コンポーネントはstoreの特定のステータスを購読します. コンポーネントはstoreデータ(state)を直接操作しません. ストレージデータ(state)を変更できるのは、 Reducer Functionのみです. コンポーネントは、Dispatch Reducer関数を実行するためのアクションを発行する.
input(パラメータ):“Old(preference,current)state”,dispatched“action” 出力(戻り値):New State(値またはオブジェクト) 4.redoxデフォルト(in vanillaJS):store、reduce、state、subscribe、dispatch
1.Context APIの欠点
授業中に...
Redux is an alternative to the Context API
どちらもCross-Component/App-WadeStateをうまく管理しており、
Contextの欠点を理解!
1)インストールプロセスが複雑で、大規模なアプリケーションを作成する際の欠点がより際立っている.
各contextを作成する場合
コンテキスト内
両方とも...
2)性能があまり理想的でない:頻繁に変化する状態に合わない
「Reduxはこの2つの欠点を解決します!!」
2.Reduxの核心概念
3.Reducerの構造
4.redoxデフォルト(in vanillaJS):store、reduce、state、subscribe、dispatch // redux 설치하기
npm i redux
// redux 가져오기
const redux = require("redux"); // nodejs 예시
//reducer : state 변경 함수. 첫 실행 시 필요한 default value 필요
// 위 reducer 설명 참고
const exampleReducer = (state = { counter: 0 },action) => {
if (action.type === "increment") {
return {
counter: state.counter + 1
};
} else if (action.type === "decrement") {
return {
counter: state.counter - 1
};
} else {
return state
};
};
//store : redux.createStore(reducer)로 생성. reducer는 store data를 변경할 reducer 넣기
const store = redux.createStore(exampleReducer);
// state : store.getState()
const latestState = store.getState();
// subscribe : store.subscribe(해당 store data(state) 변경 시 실행할 함수)
const exampleSubscriber = () => {
const latestState = store.getState();
console.log(latestState);
};
store.subscribe(exampleSubscriber);
// dipatching action: 인자로 type 키를 가진 객체 필요
store.dispatch({type: "increment"})
Reference
この問題について(スタート[React-Redux][1]), 我々は、より多くの情報をここで見つけました
https://velog.io/@kimyoungyin/React-Redux-1-시작하기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
// redux 설치하기
npm i redux
// redux 가져오기
const redux = require("redux"); // nodejs 예시
//reducer : state 변경 함수. 첫 실행 시 필요한 default value 필요
// 위 reducer 설명 참고
const exampleReducer = (state = { counter: 0 },action) => {
if (action.type === "increment") {
return {
counter: state.counter + 1
};
} else if (action.type === "decrement") {
return {
counter: state.counter - 1
};
} else {
return state
};
};
//store : redux.createStore(reducer)로 생성. reducer는 store data를 변경할 reducer 넣기
const store = redux.createStore(exampleReducer);
// state : store.getState()
const latestState = store.getState();
// subscribe : store.subscribe(해당 store data(state) 변경 시 실행할 함수)
const exampleSubscriber = () => {
const latestState = store.getState();
console.log(latestState);
};
store.subscribe(exampleSubscriber);
// dipatching action: 인자로 type 키를 가진 객체 필요
store.dispatch({type: "increment"})
Reference
この問題について(スタート[React-Redux][1]), 我々は、より多くの情報をここで見つけました https://velog.io/@kimyoungyin/React-Redux-1-시작하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol