Eu sei que usando Reflux.__keep.createdActions
, obtenho uma lista de todas as ações criadas. Existe uma maneira de saber o nome dessas ações?
Existe uma maneira de definir um preEmit
gancho para todas as ações?
Nota importante: Reflux.__keep
na verdade, foi originalmente criado para oferecer suporte a outro recurso que nunca se materializou. No entanto, também estava criando vazamentos de memória em alguns programas. Portanto, foi feito recentemente para NÃO armazenar nada por padrão. Para fazer com que ele armazene qualquer coisa, você precisa usar Reflux.__keep.useKeep()
nas versões mais recentes do reflux
e reflux-core
. Reflux.__keep
não é uma parte documentada da API e, como tais alterações, não seguem necessariamente o controle de versão semântico. A partir da versão 5.0.2 do Reflux em diante, useKeep()
é necessário Reflux.__keep
armazenar qualquer coisa.
Mas vamos à pergunta:
1) Em Reflux.__keep
há uma createdActions
propriedade, que é um Array contendo todas as ações criadas até agora (se você fez a useKeep()
coisa, é claro). Cada ação deve ter uma actionName
propriedade informando o nome da ação que você forneceu quando a criou:
Reflux.__keep.useKeep()
Reflux.createActions(['firstAction', 'secondAction']);
console.log(Reflux.__keep.createdActions[0].actionName) // <-- firstAction
console.log(Reflux.__keep.createdActions[1].actionName) // <-- secondAction
2) preEmit
ganchos podem ser atribuídos a ações após o fato, portanto, atribuí-los a ações dentro Reflux.__keep.createdActions
seria uma simples questão de um loop:
Reflux.__keep.useKeep()
var Actions = Reflux.createActions(['firstAction', 'secondAction']);
var total = Reflux.__keep.createdActions.length;
for (var i=0; i<total; i++) {
Reflux.__keep.createdActions[i].preEmit = function(arg) { console.log(arg); };
}
Actions.firstAction('Hello'); // <- preEmit outputs "Hello"
Actions.secondAction('World!'); // <- preEmit outputs "World!"
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras