在React无状态组件中定义函数是否可行?

4

在无状态组件中定义函数(例如下面示例中的handleClick)是不良实践吗?我被告知应该避免这样做,但是我无法在文档中找到任何证明。如果答案是“是”,那么为什么在类中定义一个函数会更好呢?

function MiniPalette(props) {
  const {classes } = props;
  

  function handleClick() {
    history.push(`palette/${id}`);
  }

  return (
    <div className={classes.root} onClick={handleClick}>
      <div className={classes.colors}>{miniColorBoxes}</div>
      <h5 className={classes.title}>
        {paletteName}
        <span className={classes.emoji}>{emoji}</span>
      </h5>
    </div>
  );
}

3
没问题。这份文档里有很多类似的例子。 - dpwr
2个回答

3

1
越南的看法是正确的,这是一种资源浪费。组件树的一个好方法是,在顶部处理数据,在底部附近,你只关注呈现数据。例如,如果你需要一种方法来操纵数据并更新状态,我建议向下传递钩子或转到useContext()。这也会使您的代码更清洁,最终您可以使用高阶组件进行类似功能的操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接