1 回答

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
你需要糾正的事情:
在這里,您返回一個(gè)數(shù)組,但您的狀態(tài)是一個(gè)對(duì)象。
case 'SET_FACILITY_NAME':
return [
...state,
action.facilityName
];
如果你看一下這行代碼:
setCMSId(this.state.cmsCertificationNumber)
您只是在調(diào)用返回對(duì)象的函數(shù)。您應(yīng)該調(diào)度該操作。
您有一個(gè)未使用的功能
function mapStateToProps(state) {
const { CMSReducer } = state
return { CMSForm: CMSReducer }
}
您沒(méi)有使用此處映射到道具的狀態(tài):
export default connect(state => ({ cmsNum: getCMSNum(state) }))(CMSForm);
更新
您可以通過(guò)這種方式使用調(diào)度:
import React from 'react'
import { connect } from 'react-redux';
import { setCMSId } from '../redux/methods'
import { getCMSNum } from "../redux/selectors";
class CMSForm extends React.Component {
constructor(props) {
super(props);
this.state = {
cmsCertificationNumber: '',
facility_name: ''
};
}
handleCmsNumber = () => {
// to dispatch the `setCMSId` action.
this.props.setCMSId(this.state.cmsCertificationNumber);
} // end of HandleCMSNumebr
handleChange = (event) => {
this.setState({ cmsCertificationNumber: event.target.value });
}
render() {
console.log(this.props.cmsNum);
return (
<div>
<input type="text" value={this.state.cmsCertificationNumber} onChange={this.handleChange} />
<button className="update-cmsNum" onClick={this.handleCmsNumber}>
Find
</button>
</div>
)
}
} // end of component
const mapStateToProps = state => ({ cmsNum: getCMSNum(state) });
const mapDispatchToProps = {setCMSId};
export default connect(mapStateToProps, mapDispatchToProps)(CMSForm);
添加回答
舉報(bào)