[英]React Select - Default Value from Redux not working
我有來自 Redux 的這種格式的數據:
[
0: {value: '1.5', label: 'Extra cheese'}
1: {value: '3', label: 'Tomato'}
]
我嘗試將它們加載到我的反應選擇中。 但它失敗了,因為它立即將 initialToppings 作為 defaultValue 加載(所以它向我顯示空字符串作為 defaultValue)。 而且這個值永遠不能再改變了。 但是沒有initialToppings我什么都沒有得到defaultValue bcs redux變慢並且defaultValue是空的,所以我以后不能再次加載它......
const initialToppings = [{ label: '', value: '' }];
const [defaultToppings, setDefaultToppings] = useState(initialToppings);
useEffect(() => {
setDefaultToppings(
editProduct?.selectedToppings?.map((topping, value) => ({
...topping,
value,
})) ?? initialToppings
);
}, [editProduct]);
<Select
options={extraOptions}
formatOptionLabel={formatExtras}
isMulti
defaultValue={defaultToppings}
// defaultValue={[
// { label: 'Test 1', value: '1' },
// { label: 'Test 2', value: '2' },
// ]}
onChange={setSelectedToppings}
/>
您可以將key
道具添加到Select
以強制重新安裝組件並使其重新渲染
<Select
key={defaultToppings}
options={extraOptions}
formatOptionLabel={formatExtras}
isMulti
defaultValue={defaultToppings}
// defaultValue={[
// { label: 'Test 1', value: '1' },
// { label: 'Test 2', value: '2' },
// ]}
onChange={setSelectedToppings}
/>
我有一個簡單的代碼框,你可以檢查一下
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.