亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何只打開特定的模態窗口?

如何只打開特定的模態窗口?

牛魔王的故事 2023-08-18 10:18:42
我只需要打開我單擊的模態 div。但是當我單擊任何元素時它們都會打開。如何使其僅進入我點擊的模式?應用程序.jsimport { useEffect, useState } from "react";import Modal from "./components/Modal";import "./style.css";function App() {  useEffect(() => {    fetch(      "https://api.unsplash.com/photos/?client_id=cf49c08b444ff4cb9e4d126b7e9f7513ba1ee58de7906e4360afc1a33d1bf4c0"    )      .then((res) => res.json())      .then((result) => setItem(result));  }, []);  const [item, setItem] = useState([]);  const [modalActive, setModalActive] = useState(false);  return (    <div className="app">      {item.map((item) => (        <div          className="image-container"          key={item.id}          onClick={() => setModalActive(true)}        >          <img className="image" src={item.urls.regular} alt="logo" />          <div className="info">            <img              className="avatar"              src={item.user.profile_image.small}              alt="avatar"            />            <div className="text">              <p className="name">{item.user.username}</p>              <p className="name">{item.alt_description}</p>            </div>          </div>          <Modal            active={modalActive}            setActive={setModalActive}            url={item.urls.regular}          />        </div>      ))}    </div>  );}export default App;模態.jsximport React from "react";import "./index.css";const Modal = ({ setActive, active, url }) => {  return (    <div      className={active ? "modal active" : "modal"}      onClick={() => setActive(false)}    >      <div className="modal__img">        <img src={url}/>      </div>    </div>  );};export default Modal;
查看完整描述

1 回答

?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

其他解決方案是使用索引來顯示或隱藏模式:


 <div className="app">

      {item.map((item, index) => (

        <div

          className="image-container"

          key={item.id}

          onClick={() => setModalActive(index)}

        >

          <img className="image" src={item.urls.regular} alt="logo" />

          <div className="info">

            <img

              className="avatar"

              src={item.user.profile_image.small}

              alt="avatar"

            />

            <div className="text">

              <p className="name">{item.user.username}</p>

              <p className="name">{item.alt_description}</p>

            </div>

          </div>

          <Modal

            active={modalActive === index}

            setActive={setModalActive}

            url={item.urls.regular}

          />

        </div>

      ))}

    </div>


查看完整回答
反對 回復 2023-08-18
  • 1 回答
  • 0 關注
  • 109 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號