Uma biblioteca JavaScript declarativa, eficiente e flexível para criar interfaces visuais
Introduzida na versão 16.8 do React uma nova funcionalidade chamada Hooks. Ela permite que você tenha acesso a recursos que até o momento exigiam que fossem utilizadas classes, só que agora apenas com funções.
Essa atualização veio para lidar com um problema comum no ambiente de desenvolvimento React: compartilhar lógica entre componentes.
const Store = props => {
const [counterState, counterDispatch] = useReducer(
counterReducer,
counterStore
);
const [authState, authDispatch] = useReducer(authReducer, authStore);
const triggerDispatchs = action => {
const dispatchs = [counterDispatch, authDispatch];
for (let i = 0; i < dispatchs.length; i++) {
dispatchs[i](action);
}
};
const combinedReducers = {
store: {
...counterState,
...authState
},
dispatch: action => triggerDispatchs(action)
};
return (
<Context.Provider value={combinedReducers}>
{props.children}
</Context.Provider>
);
};
export default Store;
É um paradigma de programação onde computações são representadas por funções ou expressões puras, evitando efeitos colaterais e dados mutáveis e que utiliza amplamente de composição de funções e funções de primeira classe
let counter = 1;
const increaseCounter = (value) => value + 1;
increaseCounter(counter); // 2
console.log(counter); // 1
let counter = 1;
function increaseCounter(value) {
counter = value + 1;
}
increaseCounter(counter);
console.log(counter); // 2