未捕获的TypeError:无法读取未定义的属性'props'

时间:2019-03-11 07:50:36

标签: javascript reactjs redux react-redux

我在添加页面上遇到此错误:

  

未捕获的TypeError:无法读取未定义的属性“ props”

我正试图从this Stack Overflow post中的组件开始返回。

如何从我的添加页面返回?

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)

1 个答案:

答案 0 :(得分:0)

  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上测试