-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested
Description
Is your feature request related to a problem? Please describe.
Having to define a lot of callbacks from the dispatch method can be tedious:
const [
{ restaurant },
dispatch,
] = useEpic(restaurantFilterEpic);
const handleRegionChange = useCallback(e => dispatch(['SELECT_REGION', e.target.value])), dispatch);
const handleCityChange = useCallback(e => dispatch(['SELECT_CITY', e.target.value]));
const handleRestaurantChange = useCallback(e => dispatch(['SELECT_RESTAURANT', target.value]));
return <RestaurantSelector
restaurant={restaurant}
onRegionChange={handleRegionChange}
onCityChange={handleCityChange}
onRestaurantChange={handleRestaurantChange}
/>Describe the solution you'd like
I'd like an option, to receive action creator style methods instead of the dispatch, perhaps something like:
const [
{ restaurant },
{ handleRegionChange, handleCityChange, handleRestaurantChange },
] = useEpic(restaurantFilterEpic, {
actions: {
handleRegionChange: ['SELECT_REGION', e => e.target.value],
handleCityChange: ['SELECT_CITY', e => e.target.value],
handleRestaurantChange: ['SELECT_RESTAURANT', e => e.target.value],
}
});
return <RestaurantSelector
restaurant={restaurant}
onRegionChange={handleRegionChange}
onCityChange={handleCityChange}
onRestaurantChange={handleRestaurantChange}
/>The actions option should memoize the callbacks, but in a more efficient way than useCallback
Describe alternatives you've considered
After writing the examples I have to question: Is it worth it, the amount of code written is pretty close, maybe this isn't the best idea?
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestquestionFurther information is requestedFurther information is requested