Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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 反应:类型错误:无法读取属性';renderInput';未定义的_Reactjs - Fatal编程技术网

Reactjs 反应:类型错误:无法读取属性';renderInput';未定义的

Reactjs 反应:类型错误:无法读取属性';renderInput';未定义的,reactjs,Reactjs,我试图从render方法调用render输入方法,但它给出了一个错误,表示render输入属性未定义。我不明白确切的问题。如果有人能告诉我代码中的问题是什么,那就太好了?提前谢谢 代码如下: UserForm.js import React,{Component}来自“React” 从'redux form'导入{Field,reduxForm,FieldArray} 从“react widgets/lib/Multiselect”导入Multiselect 导入“react widgets/

我试图从render方法调用render输入方法,但它给出了一个错误,表示render输入属性未定义。我不明白确切的问题。如果有人能告诉我代码中的问题是什么,那就太好了?提前谢谢


代码如下:

UserForm.js
import React,{Component}来自“React”
从'redux form'导入{Field,reduxForm,FieldArray}
从“react widgets/lib/Multiselect”导入Multiselect
导入“react widgets/dist/css/react widgets.css”
类UserForm扩展组件{
renderInput(formProps){
const className=`field${formProps.meta.error&&formProps.meta.com?
“错误”:“”}`
返回(
{formProps.label}
{formProps.meta.touch&&
(formProps.meta.error&{formProps.meta.error})
)
}
renderMultiselect({input,…rest}){
返回(input.onBlur()}
value={input.value | |[]}
{…rest}/>)
}
renderHobbies({fields,meta:{error}}}){return(
  • fields.push()}>添加爱好
  • {fields.map((爱好,索引)=>
  • 字段。删除(索引)}/>
  • )} {error&
  • {error}
  • }
) } onSubmit=(formValues)=>{ console.log('formValues',formValues) this.props.onSubmit(formValues) } render(){ const{handleSubmit}=this.props const current=new Date().toISOString().split(“T”)[0] let optionList=[{id:1,name:'traveling'},{id:2,name:'Reading'},{id:3,name:'Gaming'}] let items=[{name:'traveling',value:'traveling'},{name:'Reading',value:'Reading'},{name:'Gaming',value:'Gaming'}] 康斯特学院=[‘浦那大学’、‘S.P.学院’、‘F.C学院’] 返回( 全名 地址 生日 选择你的性别 男性 {' '} 女性 {' '} 其他 {' '} 选择你的爱好 选择学院 选择一所学院 {colleges.map(collegeOption=>( {collegeOption} ))} 提交 ) } } const required=value=>(value | | typeof value===“number”?未定义:“required”) 常量maxLength=max=>value=>value&&value.length>max`必须是${max}个字符 或更少“:未定义 常量maxLength25=maxLength(25) const minLength=min=>value=>value&&value.length
这就是范围问题, 在渲染视图中未定义

只需绑定renderHobbies即可

 <div>
   <FieldArray name='hobbies' component={this.renderHobbies.bind(this)}/>
  </div>

 <div>
   <FieldArray name='hobbies' component={this.renderHobbies.bind(this)}/>
  </div>