javascript - 使用 getter 在 React 组件中渲染另一个组件是一种好习惯吗?

标签 javascript reactjs getter react-component

在某些情况下,getter 方法会变得很方便。但是使用 getter 方法来渲染 React 组件或整个 DOM 呢?为此目的使用经典方法而不是 setter/getter 不是更好吗?为什么?

我觉得这方面有些不对劲,但我也知道这可能与作者的感受有关。

所以问题是,这是否是一般的好方法?或者您的偏好是什么?

class Attachment extends React.Component {

  get file() {
    return this.props.fields.File;
  }
  get label() {
    return this.props.fields.Label;
  }

  // I'm asking about these 2 getters below this comment

  get editableAttachment() {
    return <SomeComponent field={this.label} />;
  }

  get attachment() {
    return (
      <a
        href={this.file && this.file.value && this.file.value.src}
        target="_blank"
      >
        {(this.label && this.label.value)}
      </a>
    );
  }

  render() {
    return (
      <div className="ui-some-component">
        {this.props.isPageEditing ? this.editableAttachment : this.attachment}
      </div>
    );
  }
}

提前谢谢你。

最佳答案

这非常符合消费者的口味,我相信如果不引入野蛮,任何代码都是好的。

代码越易懂越好,这也是事实。对于不知道我的代码的人,我会尽量使代码简单易读。

另一方面,我尽量使组件尽可能简单和直观。

也许这将是您自己使用“我的风格指南”的代码示例:

const Attachment = ({ isPageEditing, fields }) => {
  const { file, label } = fields;

  const attachment = isPageEditing ? (
    <SomeComponent field={fields.label} />
  ) : (
    <a href={file && file.value && file.value.src} target="_blank">
      {label && label.value}
    </a>
  );

  return <div className="ui-some-component">{attachment}</div>;
};

希望对你有帮助 最好的

关于javascript - 使用 getter 在 React 组件中渲染另一个组件是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55142397/

相关文章:

javascript - 在javascript中将字符的位置放入数组的简单方法

javascript - Angular - 在多个文件中定义模块

javascript - React/Redux - 前一个操作完成后触发操作

c++ - 为什么在我的代码中将值从构造函数 var 传递到类变量会失败? C++

eclipse - Checkstyle,没有针对 getter 和 setter 的 JavaDoc 仅适用于 getter

javascript - 有人可以提供一个 vimeo 简单 api 工作示例(使用标准嵌入对象,而不是 froogaloop)吗?

javascript - 将 "hoverIntent"添加到 .live 函数

reactjs - 检查所有子组件是否已安装

reactjs - 如何基于深度嵌套数组递归渲染React组件?

Java - 自定义数组getter