【发布时间】:2020-06-25 18:37:42
【问题描述】:
我不确定如何解释我的问题,但我的 API 以对象的形式发送信息:
"brand": {
"id": 48,
"name": "Nike"
},
当我在初始值上传递这个品牌时,我需要编辑这个品牌:
function mapStateToProps(state, props) {
const quality = state.quality;
const edition = state.editionBox;
const levels = state.levels;
const tenant = state.tenant;
const productID = props.match.params.id;
if (productID) {
// eslint-disable-next-line
return { initialValues: state.products.productList.find(product => product.id == productID), levels, quality, edition, tenant}
} else {
return { brands: state.brands, levels, quality, edition, tenant }
}
}
我的组件,希望只是一个品牌名称,而不是 id 和名称
<Field
name="brand"
label="Marca"
component={RenderedSelect}
validate={[required]}>
{brandsList.map(brand => (
<MenuItem key={brand.id} value={brand.name}>
{brand.name}
</MenuItem>
))}
</Field>
这是我选择品牌时的redux,我需要获取ID和名称
编辑:我在没有控制台时收到此错误:
EDIT2:我的brandList来自redux-state的useSelector
const brandsList = useSelector(state => state.brands.brandList);
【问题讨论】:
-
你从组件内部从哪里获得brandList?它是从 redux 状态作为道具来的吗?
-
@Hyetigran 求解答!我使用 useSelector 得到了这个。
-
明白了!您似乎想访问菜单项中每个品牌的 id 和 name 属性,但无法访问。对吗?
-
@Hyetigran 是的,FieldArray 通过 Redux-form 文档执行此操作。但我希望在提交时,值会发送 ID 和名称,而不仅仅是名称。我相信这两个问题是有联系的。
标签: reactjs redux react-redux redux-form