Recuperar o nó DOM de um componente React é bastante simples de dentro do próprio componente, mas e se o senhor quiser trabalhar de trás para frente: recuperar a instância de um componente pelo nó DOM? Essa é uma tarefa que o antigo framework Dijit do Dojo Toolkit permitia com a função dijit.byId e isso me fez pensar se o senhor poderia fazer o mesmo com o React. Acontece que o senhor pode recuperar uma instância de componente pelo nó do DOM!


A função a seguir permite que o senhor obtenha uma instância de componente React por nó DOM:



function findReactElement(node) {
    for (var key in node) {
        if (key.startsWith("__reactInternalInstance$")) {
            return node[key]._debugOwner.stateNode;
        }
    }
    return null;
}


Se o nó for uma raiz de componente React, o senhor verá uma série de informações incríveis, como props, estado, contexto, refs, lista de métodos e muito mais:


Estado do elemento React


A modificação de props/state e a chamada de métodos de renderização não parecem realmente fazer nada, portanto, a manipulação não parece possível do lado de fora, mas é útil poder obter a instância do componente com base no nó DOM, mesmo que seja apenas para inspeção. Muito bom!

  • Usando a opacidade para mostrar o foco com jQuery

    Há alguns dias, apresentei um artigo interessante que utilizava o MooTools JavaScript e a opacidade para mostrar o foco em um elemento específico. Veja como realizar essa façanha usando o jQuery. O JavaScript do jQuery E aí está. Opacity é um recurso muito simples, mas eficaz…

  • Chris Coyier’s Favorite CodePen Demos II

    Olá a todos! Antes de começarmos, gostaria de dizer que é muito difícil escolher os favoritos do CodePen. Não porque, como cofundador do CodePen, eu me sinta como um pai escolhendo o filho de que mais gosta (RUDE). Mas porque há tantos…