Реакция: Обновление элемента массива без перерисовки других элементов массива - PullRequest
2 голосов
/ 19 сентября 2019

Возможно ли перерисовать элемент массива, , не позволяя другим перерисовать ?

Пример: Наличие массива 500 <Card> компоненты и редактирование <Card> номер 27 (который обновляет myArray реквизит), я хотел бы только рендеринг <Card> номер 27.

render = () => {
    this.props.myArray.map(card => {
        return <Cards key={card.id} ...card />
    })
}

В моем случае,<Card> компоненты немного тяжелые, и я бы хотел избежать их повторного рендеринга, если они не изменились по отдельности, но как только myArray опора изменяется и запускается render() метод, каждый <Card> переопределяется, вызываянекоторые проблемы с производительностью при каждом <Card> изменении.

1 Ответ

0 голосов
/ 19 сентября 2019

Используйте памятку в вашем компоненте. Если она не изменяется, соответствующий компонент не отображается.Погуглите «ответная запомни» принесет вам много приятных ресурсов.Я бы также улучшил компонент вашей карты, чтобы получать объект карты вместо каждого атрибута карты.Деконструкция объекта карты может усложнить вам написание кода для его запоминания.

render = () => {
    this.props.myArray.map(card => {
        return <Cards key={card.id} card={card} />
    })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...