#javascript #css #reactjs #onclick #modal-dialog
#javascript #css #reactjs #onclick #модальный диалог
Вопрос:
Я хотел создать галерею незашлифованных изображений и предоставить полноэкранное изображение, когда пользователь нажмет на маленькое изображение. Я создаю модальное окно, которое появляется, когда пользователь нажимает на маленькое изображение, и я хотел закрыть его, когда он нажимает на любое место в таком модальном окне. Я создаю анонимную функцию, которая должна изменить мой active на false, но когда я нажал, ничего не произошло.
Вот код — https://stackblitz.com/edit/react-jis6bz
Ответ №1:
App.js строка 26 вы должны очистить переменную modalActive, если вы нажимаете на элемент, который уже находится в modalActive
App.js line 26:
onClick={() => (
modalActive === index ? setModalActive(null) : setModalActive(index)
)}
И это будет более чистый подход к коду, если onClick будет функцией с именем, а не анонимной, что-то вроде toggleActiveImage