Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是“反应”吗;“聪明”;当涉及到调用render方法时?_Javascript_Reactjs - Fatal编程技术网

Javascript 是“反应”吗;“聪明”;当涉及到调用render方法时?

Javascript 是“反应”吗;“聪明”;当涉及到调用render方法时?,javascript,reactjs,Javascript,Reactjs,该组件的渲染方法使用提供给该组件的任何道具 当道具改变时,组件会重新渲染吗 class MyComponent extends React.Component { constructor(props) { super(props); const { propValue } = props; // do something with propValue... } render () { return ( <div>foo</

该组件的渲染方法使用提供给该组件的任何道具

当道具改变时,组件会重新渲染吗

class MyComponent extends React.Component {
  constructor(props) {
    super(props);
    const { propValue } = props;
    // do something with propValue...
  }
  render () {
    return (
      <div>foo</div>
    );
  }
}
类MyComponent扩展了React.Component{ 建造师(道具){ 超级(道具); 常量{propValue}=props; //做一些有价值的事情。。。 } 渲染(){ 返回( 福 ); } }
是,除非实现
shouldComponentUpdate
,否则组件将重新渲染。您可以从中继承,使用
prop
state
与以前的值进行浅层比较,以确定组件是否应该更新。

将调用
渲染
-是。除非实现
shouldComponentUpdate
以返回
false

DOM是否会重新招标-否

另外,您可能还想看看提升静态元素的方法

const Hr=()=>{
返回
; };
出去

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

const Hr = () => {
  return _ref;
};
const\u ref=
; 常数Hr=()=>{ 返回_ref; };

据我所知,react将在以下场景中调用render方法

  • 最初安装组件时
  • 使用
    this.setState()更改状态时
  • 当您的组件收到新的
    道具时
  • 当调用此.forceUpdate()时
  • 由于您没有实现
    shouldcomponentUpdate()
    渲染方法将被调用。
    const _ref = <hr className="hr" />;
    
    const Hr = () => {
      return _ref;
    };