学习如何在20行建立一个合理的近似Redux Store

337 阅读1分钟

大神就是牛

const createStore = (reducer) => {
	let state;
	let listeners = [];
	const getState = () => state;

	const dispatch = (action) => {
		state = reducer(state, action);
		listeners.forEach(listener => listener());
	};

	const subscribe = (listener) => {
		listeners.push(listener);
		return () => {
			listeners = listeners.filter(l => l !== listener);
		};
	};

	dispatch({});

	return {getState, dispatch, subscribe};
};

学习如何在20行建立一个合理的近似Redux Store

原文