Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

295
Visualizações
React-table doesn't update when MobX store updates

I am using react-table, which depends on some MobX observable data. My component is wrapped with observer() and my table row data is memoized using useMemo, as you do with react-table. The problem is, this useMemo doesn't react to store updates.

  const fetcher = useDataFetcher(props.selected, bookmarkStore.f.loadBare);

  // this loads additional row data using a mobx store action
  useEffect(() => {
    (async () => {
      const ids = fetcher.items.results.map((a) => a.document);
      await documentStore.loadIds(ids);
    })();
  }, [fetcher.items.results]);

  // this doesn't get updated when new ids are loaded, affecting documentStore.docsById
  const bookmarks = useMemo(
    () =>
      fetcher.items.results.map((bookmark) => {
        let docId = bookmark.document;
        const doc = documentStore.getDocById(docId);
        return { ...bookmark, document_data: doc };
      }),
    [fetcher.items.results,
     documentStore.docsById // this is the dependency that doesn't do anything
    ]
  );

  const data = bookmarks;

  // setup react-table with this data

And I can't remove the useMemo call because then the react-table goes into infinite re-render, crashing the app. Can I somehow get rid of useMemo when using react-table or is there a way for this useMemo store dependency to work?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda