react redux

138 阅读1分钟

index.js

这里没什么说的,就是把里边的函数导出来

import Provider, { createProvider } from './components/Provider'
import connectAdvanced from './components/connectAdvanced'
import connect from './connect/connect'

export { Provider, createProvider, connectAdvanced, connect }
# Provider.js

export function createProvider(storeKey = "store", subKey) { const subscriptionKey = subKey || ${storeKey}Subscription;

class Provider extends Component { // 传给子组件, 通过context getChildContext() { return { [storeKey]: this[storeKey], [subscriptionKey]: null }; }

constructor(props, context) {
  super(props, context);
  this[storeKey] = props.store;
}

render() {
  return Children.only(this.props.children);
}

}

if (process.env.NODE_ENV !== "production") { Provider.prototype.componentWillReceiveProps = function(nextProps) { // 不支持改变store if (this[storeKey] !== nextProps.store) { warnAboutReceivingStore(); } }; }