Skip to content

Commit fd2a571

Browse files
committed
Use JS implementation of useEffectAlways
1 parent a5f1c83 commit fd2a571

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/React/Basic/Hooks.js

+8
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,19 @@ exports.useEffect_ = function (eq, deps, effect) {
2727
React.useEffect(effect, [memoizedKey]);
2828
};
2929

30+
exports.useEffectAlways_ = function (effect) {
31+
React.useEffect(effect);
32+
};
33+
3034
exports.useLayoutEffect_ = function (eq, deps, effect) {
3135
var memoizedKey = exports.useMemo_(eq, deps);
3236
React.useLayoutEffect(effect, [memoizedKey]);
3337
};
3438

39+
exports.useLayoutEffectAlways_ = function (effect) {
40+
React.useLayoutEffect(effect);
41+
};
42+
3543
exports.useReducer_ = function (tuple, reducer, initialState, initialAction) {
3644
var r = React.useReducer(reducer, initialState, initialAction);
3745
var state = r[0];

src/React/Basic/Hooks.purs

+12-2
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ useEffectOnce effect = unsafeHook (runEffectFn3 useEffect_ (mkFn2 \_ _ -> true)
187187
-- | Like `useEffect`, but the effect is performed on every render. Prefer `useEffect`
188188
-- | with a proper dependency list whenever possible!
189189
useEffectAlways :: Effect (Effect Unit) -> Hook (UseEffect Unit) Unit
190-
useEffectAlways effect = unsafeHook (runEffectFn3 useEffect_ (mkFn2 \_ _ -> false) unit effect)
190+
useEffectAlways effect = unsafeHook (runEffectFn1 useEffectAlways_ effect)
191191

192192
foreign import data UseEffect :: Type -> Type -> Type
193193

@@ -209,7 +209,7 @@ useLayoutEffectOnce effect = unsafeHook (runEffectFn3 useLayoutEffect_ (mkFn2 \_
209209
-- | Like `useLayoutEffect`, but the effect is performed on every render. Prefer `useLayoutEffect`
210210
-- | with a proper dependency list whenever possible!
211211
useLayoutEffectAlways :: Effect (Effect Unit) -> Hook (UseLayoutEffect Unit) Unit
212-
useLayoutEffectAlways effect = unsafeHook (runEffectFn3 useLayoutEffect_ (mkFn2 \_ _ -> false) unit effect)
212+
useLayoutEffectAlways effect = unsafeHook (runEffectFn1 useLayoutEffectAlways_ effect)
213213

214214
foreign import data UseLayoutEffect :: Type -> Type -> Type
215215

@@ -321,6 +321,11 @@ foreign import useEffect_ ::
321321
(Effect (Effect Unit))
322322
Unit
323323

324+
foreign import useEffectAlways_ ::
325+
EffectFn1
326+
(Effect (Effect Unit))
327+
Unit
328+
324329
foreign import useLayoutEffect_ ::
325330
forall deps.
326331
EffectFn3
@@ -329,6 +334,11 @@ foreign import useLayoutEffect_ ::
329334
(Effect (Effect Unit))
330335
Unit
331336

337+
foreign import useLayoutEffectAlways_ ::
338+
EffectFn1
339+
(Effect (Effect Unit))
340+
Unit
341+
332342
foreign import useReducer_ ::
333343
forall state action.
334344
EffectFn3

0 commit comments

Comments
 (0)