>  Q&A  >  본문

onClick을 사용하여 React Hooks에서 데이터를 전달하는 방법

<p>blogItem을 클릭할 때 <code>blogItem.js</code> 구성요소의 데이터를 <code>blogDetails.js</code> 구성요소로 전달하려면 어떻게 해야 합니까? 그러나 blogItem 구성 요소는 Home.js 구성 요소로 가져옵니다. 클릭 동작을 어디에 추가해야 하는지 알려주세요. 누구든지 예를 공유할 수 있나요? </p> <p>CodeSandboX 링크 https://codesandbox.io/s/gallant-water-5bmueq?file=/src/blogItem.js:0-1876</p> <pre class="brush:php;toolbar:false;">// App.js import { BrowserRouter, Route, Routes, Switch } from "react-router-dom" "./src/Home"에서 홈 가져오기; "./src/blogItem"에서 BlogItem을 가져옵니다. 함수 앱() { 반품 ( <div className="앱"> <브라우저라우터> <경로> <경로 경로="/" 요소={<홈 />}></Route> <경로 경로="/blogItem" 요소={<BlogItem />}></Route> </경로> </브라우저라우터> </div> ); } 기본 앱 내보내기; //Home.js import "./styles.css"; import React, { useState, useEffect, useCallback } from "react" "./blogItem"에서 BlogItem 가져오기;; const 홈 = (소품) => const [blogItem, setBlogItem] = useState(props); useEffect(() => { setBlogItem(props); }, [소품]); 반품 ( <div id="앱"> <블로그 항목 /> </div> ); }; 기본 홈 내보내기; // BlogItem.js import "./styles.css"; import React, { useState, useEffect, useCallback } from "react" const blogData = [ { 아이디: 1, 날짜: "2023년 1월 25일", 사진: "https://picsum.photos/80", 제목: "Cypress 설정 블로그", 블로그세부정보: "여기에 가장 좋은 제목이 추가되었습니다. 가장 관련성이 높은 데이터가 여기에 추가되었습니다. 역대 최고. 항상 여기서 노는 건 좋은 생각이 아닌 것 같아요.' }, { 아이디: 2, 날짜: '2022년 1월 22일', 사진: "https://picsum.photos/80", 제목: "React 상태 세부정보", 블로그세부정보: "여기에 가장 좋은 제목이 추가되었습니다. 가장 관련성이 높은 데이터가 여기에 추가되었습니다. 역대 최고. 항상 여기서 노는 건 좋은 생각이 아닌 것 같아요.' } ]; const BlogItem = ({ ID, 날짜, 사진, 제목, blogDetails }) => { const [searchResults, setSearchResults] = useState(blogData); const [state, setState] = useState({ ID, 날짜, 사진, 제목, blogDetails }); const 열 = () => ( <div className="blogItems"> <div className="행"> <div className="blogArea"> {searchResults.map(({ ID, 날짜, 사진, 제목, blogDetails }) => ( <키={id}> <div className="blogImageSection"> <img alt="ID" src={사진} /> <div key={id} className="dataArea"> <span className="dataDate">{날짜}</span> <span className="tags">사이프러스</span>

{제목}

<p> 여기에 최고의 제목이 추가되었습니다. 가장 관련성이 높은 데이터가 여기에 추가되었습니다. 역대 최고. 항상 여기서 플레이하는 것은 좋은 생각이 아닐 것입니다. </p> <a href="_blank" className="readmoreLink"> 더 읽어보기 → </a> </div> </div> </a> ))} </div> </div> </div> ); return <열 {...상태} /> }; 기본 BlogItem 내보내기;</pre> <p>// BlogDetails.js</p> <pre class="brush:php;toolbar:false;">"react"에서 React 가져오기;; const BlogDetails = () => { 반품 ( <div id="앱"> <div className="blogDetailsSection"> <div className="행"> <div className="개인-블로그">

ddd

<p>블로그 세부정보</p> <사전> <code>const data = []; data.push("축구");</code> </pre> </div> </div> </div> </div> ); }; 기본 블로그 세부정보 내보내기</pre></p>
P粉615886660P粉615886660388일 전514

모든 응답(1)나는 대답할 것이다

  • P粉043566314

    P粉0435663142023-09-01 00:17:10

    먼저 index.js 파일에 browserRouter를 생성하고 browserRouter,并从app.js文件中移除它,并为BlogDetails component创建一个Routeapp.js

    파일에서 제거한 후

    BlogDetails

    코드>Route구성 요소를 생성합니다. >:

    으아악 그런 다음 'react-router-dom' 패키지를 설치해야 합니다. 으아악 useNavigateBlogItem.js

    파일에서

    가져오기 element添加onClick,以便重定向到/blogDetails:

    으아악

    이제 클릭하고 싶은 을 지정할 수 있습니다. 예를 들면 다음과 같습니다. 으아악

    마지막으로

    BlogDetails.js

    파일에서: 🎜 으아악 🎜다음과 같이 전달된 데이터에 액세스할 수 있습니다. 🎜 으아악

    회신하다
    0
  • 취소회신하다