我有一个Reaction应用程序,其中我正在使用Reaction-Router.在我的布局组件中,我有一个这样的 struct :
import React from 'react';
import Header from './components/Header/Header';
import Footer from './components/Footer/Footer';
import { Outlet } from 'react-router-dom';
function Layout() {
return (
<>
<Header />
<Outlet />
<Footer />
</>
);
}
export default Layout;
现在,当一条特定的路由被击中时,我希望有条件地呈现两个不同的组件或更换两个插座.是否有必要使用嵌套来实现这一点,或者有没有一种方法可以直接拥有两个出口?
此外,我的NavLink
中的isActive
属性也面临着一个问题.我希望div可见或在路由处于活动状态时显示.以下是我的NavLink
的代码:
<NavLink
to="/"
onClick={handleHomeClick}
className={({ isActive }) =>
`block py-2 pr-4 pl-3 duration-200 ${isActive ? "text-orange-700" : "text-gray-700"} border-b border-gray-100 hover:bg-gray-50 lg:hover:bg-transparent lg:border-0 hover:text-orange-700 lg:p-0`
}
aria-current="page"
>
HOME
{isActive && (
<div className="absolute top-full left-1/2 transform -translate-x-1/2 w-2 h-2 mt-1 border-2 border-yellow-500 bg-black rotate-45" />
)}
</NavLink>
但这是给出了错误isActive
没有定义.我试着在网上搜索,但什么也没找到.