1.state hook : set同一变量的话不重新render
import React, { useState } from 'react';
export default function Test() {
const [state, setState] = useState({
filter: {
start: moment()
.startOf('month')
.format('YYYY-MM'),
end: moment()
.endOf('month')
.format('YYYY-MM'),
},
});
// 根据时间筛选榜单
let onChangeDate = (e: any) => {
state.filter = {
start: moment(e)
.startOf('month')
.format('YYYY-MM'),
end: moment(e)
.endOf('month')
.format('YYYY-MM'),
};
setState(state);//情况1
setState({...state});//情况2
};
情况1:不会重新渲染
情况2:重新渲染
总结:state hook设置值,如果引用地址不变,是不触发重新渲染的,但是值是设置进去了