我想根据产品 ID 更改我的路由,这是动态的。
我使用冒号找到了变量的解决方案。
path: "/:product_id" component: ProductDetail
Run Code Online (Sandbox Code Playgroud)
我如何product_id在我的组件中使用。
我正在使用带有react-hook-form库的react-select下拉菜单。我正在调用 api 来获取反应选择的默认值。最初,下拉列表无法预填充默认值。所以我找到了一个解决方法,当我从 api 获取数据时重新渲染整个 JSX。
<form onSubmit={handleSubmit(saveData)}>
{!countryValue && (
<Controller
name="country"
control={control}
render={({ onChange, value, ref }) => (
<Select
options={country}
value={country.find((c) => c.value === value)}
onChange={(val) => onChange(val.value)}
/>
)}
rules={{ required: true }}
/>
)}
{countryValue && (
<Controller
name="country"
control={control}
render={({ onChange, value, ref }) => (
<Select
options={country}
value={country.find((c) => c.value === value)}
onChange={(val) => onChange(val.value)}
defaultValue={country.find((c) => c.value === countryValue)}
/>
)}
rules={{ required: true }}
/>
)}
{errors.country && <div>Field is rquired</div>} …Run Code Online (Sandbox Code Playgroud)