Skip to content

Commit 9782b5d

Browse files
committed
changes requested by @timdorr
* export Context instead of just Consumer/Provider * fix error messages for removed functionality * minor displayName change
1 parent bc62b77 commit 9782b5d

File tree

6 files changed

+17
-12
lines changed

6 files changed

+17
-12
lines changed

src/components/Context.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react'
22

3-
const { Provider, Consumer } = React.createContext(null)
3+
const Context = React.createContext(null)
44

5-
export { Provider, Consumer }
5+
export default Context

src/components/Provider.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import React, { Component } from 'react'
22
import PropTypes from 'prop-types'
3-
import { Provider as ContextProvider } from './Context'
3+
import Context from './Context'
4+
5+
const ContextProvider = Context.Provider
46

57
class Provider extends Component {
68
constructor(props) {

src/components/connectAdvanced.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ import propTypes from 'prop-types'
55
import shallowEqual from 'shallow-equals'
66
import { isValidElementType } from 'react-is'
77

8-
import { Consumer } from './Context'
8+
import Context from './Context'
9+
10+
const Consumer = Context.Consumer
911

1012
export default function connectAdvanced(
1113
/*
@@ -61,7 +63,7 @@ export default function connectAdvanced(
6163
)
6264

6365
invariant(storeKey === 'store',
64-
'storeKey is deprecated and does not do anything. To use a custom redux store for a single component, ' +
66+
'storeKey has been removed and does not do anything. To use a custom redux store for a single component, ' +
6567
'create a custom React context with React.createContext() and pass the Provider to react-redux\'s provider ' +
6668
'and the Consumer to this component as in <Provider context={context.Provider}><' +
6769
'ConnectedComponent consumer={context.Consumer} /></Provider>'
@@ -110,7 +112,7 @@ export default function connectAdvanced(
110112
constructor(props) {
111113
super(props)
112114
invariant(!props[storeKey],
113-
'passing redux store in props is deprecated and does not do anything. ' +
115+
'Passing redux store in props has been removed and does not do anything. ' +
114116
'To use a custom redux store for a single component, ' +
115117
'create a custom React context with React.createContext() and pass the Provider to react-redux\'s provider ' +
116118
'and the Consumer to this component as in <Provider context={context.Provider}><' +
@@ -196,7 +198,6 @@ export default function connectAdvanced(
196198
return <Connect {...props} forwardRef={ref} />
197199
}
198200

199-
forwardRef.displayName = Connect.displayName
200201
const forwarded = React.forwardRef(forwardRef)
201202
forwarded.displayName = Connect.displayName
202203
forwarded.WrappedComponent = WrappedComponent

src/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import Provider from './components/Provider'
22
import connectAdvanced from './components/connectAdvanced'
3-
import { Provider as ReduxContextProvider, Consumer as ReduxContextConsumer } from './components/Context'
3+
import Context from './components/Context'
44
import connect from './connect/connect'
55

6-
export { Provider, connectAdvanced, ReduxContextConsumer, ReduxContextProvider, connect }
6+
export { Provider, connectAdvanced, Context, connect }

test/components/Provider.spec.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@
33
import React, { Component } from 'react'
44
import { createStore } from 'redux'
55
import { Provider, connect } from '../../src/index.js'
6-
import { Consumer } from '../../src/components/Context.js'
6+
import Context from '../../src/components/Context.js'
77
import * as rtl from 'react-testing-library'
88
import 'jest-dom/extend-expect'
99

10+
const Consumer = Context.Consumer
11+
1012
describe('React', () => {
1113
describe('Provider', () => {
1214
afterEach(() => rtl.cleanup())

test/components/connect.spec.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2255,7 +2255,7 @@ describe('React', () => {
22552255
}
22562256
}
22572257
new Container()
2258-
}).toThrow(/storeKey is deprecated/)
2258+
}).toThrow(/storeKey has been removed/)
22592259
})
22602260

22612261
it('should error on withRef', () => {
@@ -2279,7 +2279,7 @@ describe('React', () => {
22792279
}
22802280
expect(() => {
22812281
rtl.render(<Oops />)
2282-
}).toThrow(/passing redux store/)
2282+
}).toThrow(/Passing redux store/)
22832283
})
22842284

22852285
it('should add a renderCount prop if specified in connect options', () => {

0 commit comments

Comments
 (0)