我创建了一个扩展react-modal库的自定义模式挂钩,但是当输入上有 onChange 属性时,我在处理输入时遇到问题,出于某种原因,每次发生输入更改时,它都会重新呈现 useModalHook 组件。我是钩子的新手,但是有没有办法传递一个钩子包装器,它不会重新渲染组件并保持原样。我的目标是包装我通过自定义模式传递的任何组件或内容,以便它根据需要具有自定义布局。
import * as React from "react";
import Modal from "react-modal";
import styles from "../styles.scss";
export const useModalHook = (
{
title = "",
modalType = MODAL_TYPE.small,
closeIcon = true,
}
) => {
const [ getOpenModal, setOpenModal ] = React
.useState<boolean>(false);
React.useEffect(() => {
if (state) {
setOpenModal(!state);
}
return () => setOpenModal(false);
}, [ state ]);
const handleOnRequestClose = (force = false) => setOpenModal(force);
return {
Modal: ({ children }) => getOpenModal …Run Code Online (Sandbox Code Playgroud)