我正在尝试在单击事件后更新状态挂钩。但是,我的组件实例周围的 BrowserRouter 的链接覆盖了它的 onClick 函数。
但是当我删除“链接到”时,状态成功更新并在控制台中打印。
最终,我希望能够将更新后的状态传递给 PlayerPage 组件。但是我现在正在使用控制台来测试它的更新 - 它没有。
这是我的代码:
Home.js - 包含点击事件。
import { Link } from "react-router-dom";
import { useState, useEffect } from "react";
export default function Home() {
  
const [task, setTask] = useState();
  useEffect(() => {
    console.log(task);
  },[task])
  return (
    <>
     <Header />
      <main className="home-main">
       <div className="main-wrap">
        <section className="card-container">
         <h1>Good Morning</h1>
           <h1>Choose Your Work Style</h1>
            <div className="card-wrap">
              <Link to="/PlayerPage">
                  <Card onClick={() => {setTask('Short Task')}}
                    taskName="Short Task"
                    description="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
                  />
              </Link>
            </div>
   </>
 );
}
PlayerPage.js - 链接的目的地
import Header from "../components/Header";
import Timer from "../components/Timer";
import "./PlayerPage.scss";
export default function PlayerPage() {
  return (
    <>
      <Header />
      <main className="player-page-main">
        <div className="player-page-main-wrap">
          <div className="timer-title-wrap">
            <Timer />
            <h2 className="task-title">{Task Name Will Go Here}</h2>
          </div>
        </div>
      </main>
    </>
  );
}