Curly Brackets in Arrow Functions
The pair of braces forms a block, containing a list of statements. You need to use a return
statement explicitly to make the function return something:
(one) => {
return oneTodo(one, action);
// ^^^^^^
}
If you omit the braces, the arrow function has a concise body, which consists solely of a single expression whose result will implicitly become the return value of the function.
case 'toggleTodo' :
return (
state.map( (one) =>
oneTodo( one, action )
)
);
is equal to:
case 'toggleTodo' :
return (
state.map( (one) => {
return oneTodo( one, action )
})
);
see the return statement