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()更改状态时
道具时
shouldcomponentUpdate()
渲染方法将被调用。
const _ref = <hr className="hr" />;
const Hr = () => {
return _ref;
};