Closed kinglau66 closed 9 months ago
There's already useModal
API. ModalHolder
is just a new API and want it could be used without a hook. Think of below scenario:
...
users.map(user => {
const modalHanlder = {};
return (
<span key={user.id}>
<button onClick={() => modalHandler.show()}>Edit</button>
<ModalHolder modal="user-info-modal" handler={modalHandler} user={user} />
</span>
);
});
...
API уже есть
useModal
.ModalHolder
это просто новый API, и мы хотим, чтобы его можно было использовать без хука. Подумайте о следующем сценарии:... users.map(user => { const modalHanlder = {}; return ( <span key={user.id}> <button onClick={() => modalHandler.show()}>Edit</button> <ModalHolder modal="user-info-modal" handler={modalHandler} user={user} /> </span> ); }); ...
I don’t quite understand what needs to be passed to modalHanlder, as I see it is an empty object, but then show() is called on it, how is that?
Issue Description: Propose refactoring the modalHandler ref into a custom React hook named useNiceModal. This change will improve code organization and reusability.
Benefits:
Refactored Example: