Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用动态选项进行选择_Reactjs_Redux_Redux Form - Fatal编程技术网

Reactjs 使用动态选项进行选择

Reactjs 使用动态选项进行选择,reactjs,redux,redux-form,Reactjs,Redux,Redux Form,我正在尝试创建一个动态选择,其中包含处于状态的选项 我试过两件事: 我尝试使用无状态函数创建自定义选择器。我将包含数据的道具传递给函数,这些数据可以用选项填充select。大概是这样的: const renderFieldSelect=({name,label,templateList})=>{ if(templateList&&templateList.entities){ 返回( {label} { templateList.result.map((类型,索引)=> 返回{templa

我正在尝试创建一个动态选择,其中包含处于状态的选项

我试过两件事:

  • 我尝试使用无状态函数创建自定义选择器。我将包含数据的道具传递给函数,这些数据可以用选项填充select。大概是这样的:
const renderFieldSelect=({name,label,templateList})=>{
if(templateList&&templateList.entities){
返回(
{label}
{
templateList.result.map((类型,索引)=>
返回{templateList.entities.template[type].name}
)
}
)
}否则{
返回
}
//…更多的东西
类Bla扩展组件{
//…更多的东西
render(){
返回(
添加新选项
)
}

}
根据您提供的信息,很难确定您的问题所在

例如,您不提供reducer或addOption函数

在任何情况下,我都制作了一个快速的示例,演示了代码的这一部分应该可以工作。我不能为redux部分说话,因为您没有提供这一部分,我今天也不会编写它

也许这至少可以为您提供一些证据,证明问题出在代码的其他区域

import React,{Component}来自“React”
从“redux表单”导入{Field,reduxForm,formValueSelector}
从“react redux”导入{connect}
const renderFieldSelect=({name,label,templateList})=>{
if(templateList&&templateList.entities){
返回(
{label}
{
templateList.result.map((类型,索引)=>{
返回({templateList.entities.template[type].name})
})
}
)
}否则{
返回
}
}
类Bla扩展组件{
建造师(道具){
超级(道具)
this.state={}
this.state.templateList={}
this.state.templateList.result=['type1','type2']
this.state.templateList.entities={}
this.state.templateList.entities.template={
type1:{id:1,名称:'type1'},
type2:{id:2,名称:'type2'}
}
}
渲染(){
返回(
添加新选项
)
}
addOption(){
let type={id:this.props.addNewOption,name:this.props.addNewOption}
这是我的国家({
…这个州,
样板画家:{
结果:[…this.state.templateList.result,type.id],
实体:{…this.state.templateList.entities,模板:{…this.state.templateList.entities.template[type.id]:type}
}
})
}
}
设bla=reduxForm({
表格:Bla.name
})(Bla)
常量选择器=formValueSelector(Bla.name)
bla=连接(
状态=>({
addNewOption:选择器(状态为“addNewOption”)
})
)(bla)

导出默认bla
问题实际上是减速器。感谢您的帮助