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(); } }; }