Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Only Rerender "DAO Connected" Components

Aberta
#3 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
25/100
Tipo de issue
Refatoração
Clareza
Precisa de esclarecimento
Status de atividade
Estagnada
Stack de tecnologia
react, typescript
Domínio
frontend, performance

Direção de pesquisa

Comece revisando o comportamento de assinatura de componentes descrito para Arc.Config, DAO e DAO.Data, especialmente como as atualizações de estado de DAO acionam novas renderizações. Reúna as métricas propostas antes de decidir se a otimização deve ser levada adiante; considera-se concluído quando for estabelecido um escopo medido e acordado para renderizar novamente apenas os componentes conectados a DAO.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

hi-pri perf-enhancement

Only rerender components that are "DAO Connected".

This can be done through supporting a subscription model, where components that depend on additional contextual information (ex: , ).

For example, consider...

<Arc config={new Config("web3provider", "graphqlprovider")}>
  <View1 />
  <DAO address={"0x1234"}>
    <View2 />
    <DAO.Data>
      {data => (
        <View3 value={data.value} />
      )}
    </DAO.Data>
  </DAO>
</Arc>

Ideally, if Arc.Config's web3 provider changes, View1 & 2 shouldn't have to rerender, but View3 should because the data may be different. This can be partially achieved if DAO connect's the Arc.Config's subscriber list, which will cause it to be told to rerender if the config ever changes, but this only causes View1 to not be rendered. View2 would still be rendered because currently the data is stored within the Component's state (the DAO's state), which would cause View2 to still be rendered.

Going to leave this here for now, as it'll be interesting to come back to this after some metrics have been gathered, as I feel this may be premature optimization.

Linguagem predominante
TypeScript
Estrelas
21
Forks
9
Métricas de merge de PRs
Nenhum PR com merge em 30d

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de dOrgTech/arc.react

Todas as issues de dOrgTech/arc.react

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.