redux-form文档说reduxForm()
装饰器接受一个必需参数(配置对象)和四个可选参数(相同的四个参数传递给react-redux中的connect
装饰器)。但是,当我将mapStateToProps()
函数作为参数传递给reduxForm()
装饰器时,mapStateToProps()
实际上并未运行。请参阅下面的简化代码示例。解释器永远不会到达debugger
语句。我是否误解了有关redux-form文档的内容?
import React from 'react';
import { reduxForm } from 'redux-form';
class Home extends React.Component {
render() {
return (
<div>This is the home component.</div>
);
}
}
function mapStateToProps(state) {
debugger;
const {
ui: {
isMailingListFormVisible
}
} = state;
return {
isMailingListFormVisible
};
}
export default reduxForm({
form: 'mailingList',
fields: ['firstName', 'email']
}, mapStateToProps)(Home);
答案 0 :(得分:1)
你的代码在v6上不起作用,因为在v6上你必须装饰你的Form组件并手动将整个连接到商店:
import ...
class MyForm extends React.Component {
...
}
MyForm = reduxForm({
form: 'myForm',
...
})(MyForm);
export default connect(mapStateToProps, mapDispatchToProps)(MyForm);
答案 1 :(得分:0)
不,你不会误解文档。我已经运行了你的代码示例,它可以很好地调试调试器语句。
答案 2 :(得分:0)
您是否将其放置在<Provider>
组件内的某个位置?
老实说,我的代码没有任何问题。