React
useMemo
useRef
react-transition-group
- 结合 Ts 使用
两个都需要install
npm install @types/react-transition-group --save-dev
npm install react-transition-group
- 在严格模式下
直接使用会出现findDomNode
警告,需要在<CSSTransition>
标签中加上nodeRef
属性,并在节点上加ref
<div>
<CSSTransition
nodeRef={nodeRefMask}
in={visable}
timeout={300}
classNames="mask"
unmountOnExit={true}
>
<div ref={nodeRefMask} className={Style.maskWrapper}>
<Mask onClickMask={onClickMask}></Mask>
</div>
</CSSTransition>
<CSSTransition
nodeRef={nodeRefPopup}
in={visable}
timeout={300}
classNames={transitionMode}
unmountOnExit={true}
>
<div
className={`${Style.popup} ${Style[transitionMode]}`}
ref={nodeRefPopup}
onClick={(e) => e.stopPropagation()}
>
{children}
</div>
</CSSTransition>
</div>