Skip to content

Commit 6376624

Browse files
committed
🚑 Replace useLayoutEffect with useEffect
1 parent 98f5b00 commit 6376624

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

‎src/index.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ export {
5353
MatchMediaProvider,
5454
MatchMediaConsumer,
5555
useMatchMedia,
56-
useMatchMediaContext
56+
useMatchMediaContext,
57+
withMatchMedia
5758
} from './match-media'
5859

5960
export {

‎src/match-media.js

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import PropTypes from 'prop-types'
2-
import React, { createContext, useLayoutEffect, useState, useContext } from 'react'
2+
import React, { createContext, useEffect, useState, useContext } from 'react'
33
import { reduceObj } from '@exah/utils'
44
import { useTheme } from './utils'
55

@@ -22,7 +22,7 @@ export function useMatchMedia (media = {}) {
2222
const [ matches, setMatches ] = useState(INITIAL.matches)
2323
const [ key = INITIAL.key ] = matches
2424

25-
useLayoutEffect(() => {
25+
useEffect(() => {
2626
const listeners = reduceObj((acc, mediaKey, query) => {
2727
const mql = window.matchMedia(query)
2828

@@ -60,9 +60,16 @@ function useMatchMediaContext () {
6060
return useContext(MatchMediaContext)
6161
}
6262

63+
const withMatchMedia = (Comp) => (props) => (
64+
<MatchMediaConsumer>
65+
{(matchMedia) => <Comp matchMedia={matchMedia} {...props} />}
66+
</MatchMediaConsumer>
67+
)
68+
6369
export {
6470
MatchMediaContext,
6571
MatchMediaProvider,
6672
MatchMediaConsumer,
67-
useMatchMediaContext
73+
useMatchMediaContext,
74+
withMatchMedia
6875
}

0 commit comments

Comments
 (0)