Files
frontend-app-learner-dashboard/src/hooks.js
2022-06-16 15:01:04 -04:00

30 lines
702 B
JavaScript

import { useIntl } from '@edx/frontend-platform/i18n';
import { useSelector } from 'react-redux';
export const useCardValue = (courseNumber, sel) => (
useSelector(state => sel(state, courseNumber))
);
export const useCardValues = (courseNumber, mapping) => (
Object.keys(mapping).reduce(
// eslint-disable-next-line
(obj, key) => ({ ...obj, [key]: useCardValue(courseNumber, mapping[key]) }),
{},
)
);
export const useValueCallback = (cb, prereqs = []) => (
React.useCallback(e => cb(e.target.value), prereqs) // eslint-disable-line
);
export const nullMethod = () => ({});
export { useIntl };
export default {
useCardValues,
useValueCallback,
nullMethod,
useIntl,
};