reactjs 在react中使用布线时,从子元件更改父元件变量

yhxst69z  于 2022-12-22  发布在  React
关注(0)|答案(1)|浏览(120)

我正在尝试从子组件URL更新父组件标题。但子组件被加载为导航
这是我的沙盒
https://codesandbox.io/s/react-typescript-forked-z1ijxi
这是我的布局.tsx

import { createContext, useContext, useState } from "react";
import { Outlet, Link } from "react-router-dom";

const Layout = () => {
  const title = "";

  return (
    <>
      <h2>{title}</h2>
      <nav>
        <ul>
          <li>
            <Link to="/">Home</Link>
          </li>
          <li>
            <Link to="/blogs">Blogs</Link>
          </li>
          <li>
            <Link to="/contact">Contact</Link>
          </li>
        </ul>
      </nav>

      <Outlet />
    </>
  );
};

export default Layout;

在这里,我需要在加载每个子组件时更改{title
我试着按照这个答案去做。但是我没能做到。对不起,在React中非常新

mwg9r5ms

mwg9r5ms1#

我建议在你的项目中使用React Redux。这个库添加了一个变量命名空间,每个组件都可以使用。从这个全局命名空间,你可以定义一个title变量,这个变量可以被布局组件访问,并且可以被任何其他组件编辑,不管它在哪里。
Redux需要一些时间来学习,但它在各种项目中都非常有用。This article提供了更多关于Redux概念的信息,尽管确切的实现有点过时。

相关问题