Wie kann ich ein JS -Objekt pro Elemente aus Memoisieren?JavaScript

Javascript-Forum
Anonymous
 Wie kann ich ein JS -Objekt pro Elemente aus Memoisieren?

Post by Anonymous »

Ich bin mir sicher, dass dies eine sehr einfache Frage ist, aber meine Versuche haben keine Ergebnisse erzielt und kein LLM gibt mir eine Antwort, die funktioniert. Ich habe die folgende MemoizedList, die einwandfrei funktioniert. Das Problem ist, dass es 50 Elemente enthält und jedes Mal, wenn ein Element ändert

Code: Select all

const [selectorInstruments, setSelectorInstruments] = useState({});
const InstrumentList = useMemo(() => {
return Object.values(selectorInstruments).map((selectorInstrument: InstrumentSelectorInstrument) => (

))
}, [selectorInstruments]);
< /code>
unten ist das Listenelement mit React.memo. Ich habe versucht, den Rückruf so festzulegen, dass sie nach Requisitenänderungen prüfen, aber der Rückruf läuft noch nie. Ich habe console.logged () im Inneren, um zu überprüfen, ob jedes Element jedes Mal rendert. < /P>
const SelectorInstrumentItem = React.memo(({selectorInstrument}: { selectorInstrument: InstrumentSelectorInstrument}) => {
return  {
e.stopPropagation();
handleDropdownItemEvent(e, selectorInstrument.id);
}}

>


});
< /code>
Unten ist, wie ich ausgewählteItenems aktualisiere. Es aktualisiert zwei von ihnen, aber wie ich bereits sagte, werden alle 50 renender < /p>
setSelectorInstruments(prevState => {
const newState: Record = {...prevState}

const newInstrument = newState[instrumentId];
if (newInstrument) {
newState[instrumentId] = {
...newInstrument,
view: instrumentInformation.view
}
}
const prevInstrument = newState[oldPrimaryInstrument.instrument.id];
if (prevInstrument) {
newState[oldPrimaryInstrument.instrument.id] = {
...prevInstrument,
view: oldPrimaryInstrument.view
}
}

return newState;
});

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post