小编Rev*_*n99的帖子

如何将出口上下文传递给React Router v6中的嵌套路由

我正在使用 React router dom v6 如何访问第二个孩子的嵌套路由中的上下文

  <Routes>
    <Route element={<Parent/>}>
      <Route element={<Child/>}>
        <Route element={<ChildSecond/>}/>
      </Route>
    <Route> 
  </Routes>
Run Code Online (Sandbox Code Playgroud)

我将上下文传递给Parent组件中的 Outlet 我想访问它,而无需在组件 OutletChildSecond中再次传递它Child

预期代码

父组件:

  const Parent = ()=>{
    const myContext = {someData:'hello world'}
    return <Outlet context={myContext}/>
  }
Run Code Online (Sandbox Code Playgroud)

子组件:

  const Child = ()=><Outlet/>
Run Code Online (Sandbox Code Playgroud)

ChildSecond 组件

  import {useOutletContext} from 'react-router-dom'
  const ChildSecond = ()=>{
      const {someData} = useOutletContext()
      return <div>someData</div>
  }
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router-dom

10
推荐指数
1
解决办法
2万
查看次数

反应选择删除搜索中选定的选项

有没有办法即使在搜索其他内容后也始终在菜单上显示所选选项

这是我使用的代码

import React from "react";
import Select from "react-select/async";
const CheckboxDropdown = ({
  options,
  defaultValue,
  loadOptions,
  handleCheckboxSelect,
}) => {
  const selectDefaultValue = defaultValue;
  
  return (
    <div className="flex">
      <Select
        defaultMenuIsOpen
        defaultOptions={options}
        cacheOptions
        loadOptions={loadOptions}
        options={options}
        defaultValue={defaultValue}
        isMulti
        onChange={handleCheckboxSelect}
        noOptionsMessage={() => "No options available"}
        className="w-full"
        isClearable={false}
        placeholder="Type site name..."
      />
    </div>
  );
};
export default CheckboxDropdown;

Run Code Online (Sandbox Code Playgroud)

reactjs react-select react-select-search

4
推荐指数
1
解决办法
2万
查看次数