从 Redux 商店获取项目到 React-select 选项
Get items from Redux store to React-select options
如何从我的 Redux 商店获取项目到 React-select 选项?
尝试了很多东西,但我无法解决这个问题。尝试通过直接获取 api 来获取数据,它有效,但对我不起作用。在 redux reducer 中,我从外部 json 文件中获取数据以将项目放在沙箱上,但实际上我正在使用我的服务器 api。在从 redux Store 获取的列表页面数据上,但我无法在 Select 选项中获取它。请大家帮忙。这是一个沙盒link(选择“select”)
异步 Select 组件需要一个输入来获取开始获取数据。此外,它期望调用 callback
或返回 Promise。
修改Select
如下
import React, { useState } from "react"
// Use the non-async version
import AsyncSelect from "react-select"
import { useSelector } from "react-redux"
function Select() {
const [inputValue, setValue] = useState("")
const [selectedValue, setSelectedValue] = useState(null)
// useSelector will make sure this component re-renders
const list = useSelector((s) => s.tasks.list)
const handleInputChange = (value) => {
setValue(value)
}
const handleChange = (value) => {
setSelectedValue(value)
}
return (
<div className="App">
<h3>React-Select Async Dropdown - </h3>
<pre>Input Value: "{inputValue}"</pre>
<AsyncSelect
cacheOptions
defaultOptions
options={list} // Since the list is provided by the store, provide it directly
value={selectedValue}
getOptionLabel={(e) => e.name}
getOptionValue={(e) => e.id}
onInputChange={handleInputChange}
onChange={handleChange}
/>
<pre>Selected Value: {JSON.stringify(selectedValue || {}, null, 2)}</pre>
</div>
)
}
export default Select
如何从我的 Redux 商店获取项目到 React-select 选项? 尝试了很多东西,但我无法解决这个问题。尝试通过直接获取 api 来获取数据,它有效,但对我不起作用。在 redux reducer 中,我从外部 json 文件中获取数据以将项目放在沙箱上,但实际上我正在使用我的服务器 api。在从 redux Store 获取的列表页面数据上,但我无法在 Select 选项中获取它。请大家帮忙。这是一个沙盒link(选择“select”)
异步 Select 组件需要一个输入来获取开始获取数据。此外,它期望调用 callback
或返回 Promise。
修改Select
如下
import React, { useState } from "react"
// Use the non-async version
import AsyncSelect from "react-select"
import { useSelector } from "react-redux"
function Select() {
const [inputValue, setValue] = useState("")
const [selectedValue, setSelectedValue] = useState(null)
// useSelector will make sure this component re-renders
const list = useSelector((s) => s.tasks.list)
const handleInputChange = (value) => {
setValue(value)
}
const handleChange = (value) => {
setSelectedValue(value)
}
return (
<div className="App">
<h3>React-Select Async Dropdown - </h3>
<pre>Input Value: "{inputValue}"</pre>
<AsyncSelect
cacheOptions
defaultOptions
options={list} // Since the list is provided by the store, provide it directly
value={selectedValue}
getOptionLabel={(e) => e.name}
getOptionValue={(e) => e.id}
onInputChange={handleInputChange}
onChange={handleChange}
/>
<pre>Selected Value: {JSON.stringify(selectedValue || {}, null, 2)}</pre>
</div>
)
}
export default Select