一、Fragment
和vue的template一样,都只是占位,不渲染
import { Fragment, useState } from "react"
render() {
return (
<Fragment>
<td>999</td>
</Fragment>
);
}
输出为:
<table>
<tr>
<td>999</td>
</tr>
</table>
Fragment
标签和 <></>
区别
在 Fragment 标签写 for 循环, 允许你使用key ,但是不会渲染真实的 Dom,所以 class,name 没意义!
二、isEqual
import isEqual from "fast-deep-equal"
import { useSelector, useDispatch } from "react-redux"
let state = {
dialog: false
}
state = useSelector((store) => {
let obj = {
dialog:store.stateByPage.header.dialog
}
if(!isEqual(obj, state)) {
return obj
}
return state
})
isEqual fast-deep-equal 用作深比较