javascript - 调用render方法时ReactJS是 "clever"吗?

标签 javascript reactjs

此组件的渲染方法确实使用提供给组件的任何 Prop 。

组件是否会在 props 发生变化时重新渲染?

class MyComponent extends React.Component {
  constructor(props) {
    super(props);
    const { propValue } = props;
    // do something with propValue...
  }
  render () {
    return (
      <div>foo</div>
    );
  }
}

最佳答案

render 是否会被调用 - 是的。除非您实现 shouldComponentUpdate 以返回 false

DOM 是否会被重新渲染 - 不会。

您可能还想看看 https://babeljs.io/docs/plugins/transform-react-constant-elements/将静态元素提升。

In

const Hr = () => {
  return <hr className="hr" />;
};

Out

const _ref = <hr className="hr" />;

const Hr = () => {
  return _ref;
};

关于javascript - 调用render方法时ReactJS是 "clever"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45712278/

相关文章:

reactjs - 如何在material-ui主题中导入和使用自定义字体?

javascript - react 路由器升级与路由器冲突

javascript - JavaScript 中的后表示?

javascript - 使用 useState 和 useContext 删除 ReactJS 中的项目

reactjs - react JS : How to determine if you are running debug or production

node.js - 如何将 React 中的默认端口从 3000 更改为另一个端口?

javascript - 如何使用moment.JS针对某个时区并实时显示

javascript - 需要将复杂的json obj转换为合适的angularjs ui树数据json结构

javascript - 在卸载/卸载前使用 Javascript 发送帖子请求。那可能吗?

javascript - 检查深层属性(property)值(value)的更简洁方法