【发布时间】:2021-11-18 23:20:30
【问题描述】:
在嵌套路由时如何将props 传递给<Outlet /> 组件?
// Parrent Comp
{
const [format, setFormat] = useState('rgb');
const color = [hex, rgb, rgba]
// ...
return (
<PaletteNavBar changeFormat={setFormat}/>
{colorId ? <ColorBoxes /> : <Outlet color={color[format]} />}
// setFormat(hex) is called down here
<PaletteFooter />;
)
}
我不想通过 URL 参数传递它们。
【问题讨论】:
-
您真正想将
color属性值传递给的Outlet渲染是什么?请参阅below comment,了解可能使用 React Context API 将值传递给远处的子代,而无需通过所有中间组件进行钻取。 -
ColorBoxes将呈现 20 种颜色的调色板,Outlet将呈现具有不同深浅的单一颜色,并且需要格式以允许您使用所选格式复制颜色 -
Outlet组件仅渲染Route组件。我们需要更多的上下文。你能更新并提供MCVE吗? -
您通过“
Outlet组件仅渲染Route组件。”和“React Context API”回答了我的问题。似乎我错过了理解Outlet,我应该使用 Context API 跟踪格式。谢谢。
标签: reactjs react-router react-router-dom