Hai ragione, non si tratta di salvare i caratteri, ma dopo la modifica del codice è possibile risparmiare spazio.
In redux si usano queste costanti almeno in due punti: nei riduttori e durante la creazione di azioni. Quindi è molto conveniente definire una costante una volta in alcuni file, ad es. actionTypes.js
export const ADD_TODO = 'ADD_TODO';
export const DELETE_TODO = 'DELETE_TODO';
export const EDIT_TODO = 'EDIT_TODO';
export const COMPLETE_TODO = 'COMPLETE_TODO';
export const COMPLETE_ALL = 'COMPLETE_ALL';
export const CLEAR_COMPLETED = 'CLEAR_COMPLETED';
E poi richiedono in azioni di file creatore esempio actions.js
import { ADD_TODO } from './actionTypes';
export function addTodo(text) {
return { type: ADD_TODO, text };
}
e in alcuni riduttore
import { ADD_TODO } from './actionTypes';
export default (state = [], action) => {
switch (action.type) {
case ADD_TODO:
return [
...state,
{
text: action.text,
completed: false
}
];
default:
return state
}
};
Esso consente di trovare facilmente tutti gli usi di quel costante attraverso il progetto (se si utilizza un IDE). Ti impedisce anche di introdurre bug insensati causati da errori di battitura - nel qual caso, riceverai immediatamente un ReferenceError
.
fonte
2016-01-23 17:25:29
dovrebbe essere semplice da capire. Qualsiasi modifica deve essere effettuata in un unico posto anziché trovare tutte le istanze – charlietfl
@charlietfl, ma non c'è motivo di cambiarne il nome. Quando o perché ADD_TODO verrà mai modificato? – m0meni
e se il nome e modificato, probabilmente non è troppo bello per lasciare il nome della costante diverso dalla stringa memorizzata in esso comunque. – lakesare