Redux
3566 ワード
Reduxとは?
ステータス管理ライブラリ.JavaScriptプログラムの「予測可能状態」コンテナ
ステータス管理ツール
親コンポーネント、子コンポーネント、および子コンポーネントがあると仮定すると、すべての人が共通の管理データを持っていると仮定します.
Reduxを使用しない場合は、サブアセンブリでデータを更新するときに、そのステータス情報を親アセンブリに渡し、親アセンブリの親アセンブリでデータを渡す必要があります.つまり、プロセスは複雑です.
ただし、Reduxを使用すると、Redux Storeは複雑なプロセスを実行することなく、リポジトリのステータスを更新するだけで、ステータス管理をよりよく実行できます.
Props vs State
Props
<ChatMessages //자식 컴포넌트
messages={message}
currentMember={member} //부모 컴포넌트로부터 전달받은 정보
/>
Statestate={
message:'',
attachable:undefined,
openMenu:false
};
Reduxデータストリーム
ポイントは一方向だけに流れることです.
Action:何が起こったかを記述するオブジェクト
{type: 'LIKE_ARTICLE',articleId:42} //42번 기사에 좋아요를 누름
{type: 'FETCH_USER_SUCCESS',response:{id:3,name:'Mary'}} //유저 가져오는 것 성공
{type: 'ADD_TODO',text:'Read the Redux docs.'} //해당 텍스트를 todo 리스트에 추가
Reducer:Actionは、アプリケーションのステータスがどのように変化するかを示します.前の状態と変更された状態を返します.(previousState,action)=>nextState
Store:アプリケーション全体のステータスを保護します.メソッドが含まれており、ステータスをメソッドで管理できます.Redux設定
フォルダを
cd client
に移動します.npm install redux react-redux redux-promise redux-thunk --save
を使用して必要な依存項目をインストールします(redoxをよりよく使用できます).redux-profile:dispatch(action)、承諾の受け入れ方法をお知らせします
redux-thunk:dispatch(action)関数の受信方法を示します
index.js
import {Provider} from 'react-redux';
import 'antd/dist/antd.css';
import { applyMiddleware } from 'redux';
import promiseMiddleware from 'redux-promise';
import reduxThunk from 'redux-thunk';
import Reducer from './_reducers';
const createStoreWithMiddleware= applyMiddleware(promiseMiddleware,reduxThunk)(createStore);
ReactDOM.render(
//redux와 어플리케이션 연결. 현재의 어플리케이션을 감싸줌
<Provider
store={createStoreWithMiddleware(Reducer,
window.__REDUX_DEVTOOLS_EXTENSION__ &&
window.__REDUX_DEVTOOLS_EXTENSION__()
)}
>
<App />
</Provider>,
document.getElementById('root')
);
//생략
./reducers/index.js
//여러개의 Reducer를 combineReducers를 이용해서 하나로 합쳐줌
import {combineReducers} from 'redux';
//import user from './user_reducer';
const rootReducer=combineReducers({
//user,
});
export default rootReducer;
リファレンス
www.inflearn.com/course/学習-ノード-反応-基本
Reference
この問題について(Redux), 我々は、より多くの情報をここで見つけました
https://velog.io/@alwayslee_12/Redux
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
Reference
この問題について(Redux), 我々は、より多くの情報をここで見つけました https://velog.io/@alwayslee_12/Reduxテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol