首页 > 解决方案 > 未捕获的类型错误:无法读取未定义的属性“道具”

问题描述

我在我的 Addpage 上收到此错误:

未捕获的类型错误:无法读取未定义的属性“道具”

我正试图从这个 Stack Overflow 帖子中的组件返回。

如何从我的 Addpage 返回?

const onClick = () => {
    this.props.dispatch({ type: 'AMENITIES_BACK', id: roomsManager.items.parentId })
}

const AmenitiesAdd = ({ handleSubmit, pristine, reset, submitting }) => {
    return (
        <form onSubmit={handleSubmit(onSubmit)}>
            <Field label="amenities" name="newAmenities" component={InputText} validate={validateNotEmpty} type="text" />
            <Field label="description" name="newDescription" component={InputText} validate={validateNotEmpty} type="text" />
            <button type="submit">Submit</button>
            <button type="button" onClick={onClick}>Back</button>
        </form>    
    );
}

export default reduxForm({
    form: 'AmenitiesAdd'
})(AmenitiesAdd)

标签: javascriptreactjsreduxreact-redux

解决方案


  1. 使用路由器导入

    import { withRouter } from 'react-router-dom';
    
  2. 将您的组件导出为:

    export withRouter(nameofcomponent)
    
  3. 例如,单击按钮时,调用 goBack:

    <button onClick={this.props.history.goBack}>Back</button>
    

在 react-router-dom v4.3 上测试


推荐阅读