小编Joa*_*eis的帖子

React.memo - 为什么我的相等函数没有被调用?

我有一个父组件,它根据通过 props 接收到的数组呈现一组子组件。

import React from 'react';
import PropTypes from 'prop-types';
import shortid from 'shortid';
import { Content } from 'components-lib';
import Child from '../Child';

const Parent = props => {
  const { items } = props;

  return (
    <Content layout='vflex' padding='s'>
      {items.map(parameter => (
        <Child parameter={parameter} key={shortid.generate()} />
      ))}
    </Content>
  );
};

Parent.propTypes = {
  items: PropTypes.array
};

export default Parent;
Run Code Online (Sandbox Code Playgroud)

每次item添加一个新的,所有的孩子都被重新渲染,我试图避免这种情况,我不希望其他孩子被重新渲染,我只想渲染添加的最后一个。

所以我在孩子身上尝试了 React.memo,我可能会通过code属性或其他东西进行比较。问题是等式函数永远不会被调用。

import React from 'react';
import PropTypes from 'prop-types';
import { Content …
Run Code Online (Sandbox Code Playgroud)

reactjs

20
推荐指数
2
解决办法
5465
查看次数

标签 统计

reactjs ×1