相关疑难解决方法(0)

防止React重新呈现特定的子组件

我有一个有条件地渲染几个子组件的react组件.简化的代码就是:

render(): {
  const component1 = condition ? renderComponent2() : null;
  const component2 = renderComponent2();

  return (
    <div>
      {component1}
      {component2}
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

问题是component2每次condition更改时都会被破坏并重新呈现.我试图阻止它并保持原始元素.我尝试添加一个keycomponent2没有运气.

[编辑]这种情况即使component1总是存在也会发生,我在其上更改标记以隐藏或不使用CSS:/

javascript reactjs

16
推荐指数
1
解决办法
8241
查看次数

如何防止重新渲染整个组件的反应?

我从这里改编了以下组件定义,如下所示.但是,与示例不同,每次在鼠标上移动鼠标时,我的组件都会重新渲染.

重新渲染非常明显:

在此输入图像描述

有谁知道为什么会这样?

import React, { Component } from 'react';
import { PieChart, Pie, Sector } from 'recharts';
import { Segment, Header, Dimmer, Loader, Grid } from 'semantic-ui-react';

const renderActiveShape = (props) => {

const RADIAN = Math.PI / 180;
const { cx, cy, midAngle, innerRadius, outerRadius, startAngle, endAngle,
    fill, payload, percent, value } = props;
const sin = Math.sin(-RADIAN * midAngle);
const cos = Math.cos(-RADIAN * midAngle);
const sx = cx + (outerRadius + 10) * cos; …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

15
推荐指数
1
解决办法
3万
查看次数

标签 统计

javascript ×2

reactjs ×2

ecmascript-6 ×1