芝麻web文件管理V1.00
编辑当前文件:/home/freeclou/app.optimyar.com/backend/node_modules/react-redux/es/components/Provider.js
import React, { useMemo, useEffect } from 'react'; import PropTypes from 'prop-types'; import { ReactReduxContext } from './Context'; import Subscription from '../utils/Subscription'; function Provider(_ref) { var store = _ref.store, context = _ref.context, children = _ref.children; var contextValue = useMemo(function () { var subscription = new Subscription(store); subscription.onStateChange = subscription.notifyNestedSubs; return { store: store, subscription: subscription }; }, [store]); var previousState = useMemo(function () { return store.getState(); }, [store]); useEffect(function () { var subscription = contextValue.subscription; subscription.trySubscribe(); if (previousState !== store.getState()) { subscription.notifyNestedSubs(); } return function () { subscription.tryUnsubscribe(); subscription.onStateChange = null; }; }, [contextValue, previousState]); var Context = context || ReactReduxContext; return /*#__PURE__*/React.createElement(Context.Provider, { value: contextValue }, children); } if (process.env.NODE_ENV !== 'production') { Provider.propTypes = { store: PropTypes.shape({ subscribe: PropTypes.func.isRequired, dispatch: PropTypes.func.isRequired, getState: PropTypes.func.isRequired }), context: PropTypes.object, children: PropTypes.any }; } export default Provider;