Reactjs 成功后的ReduxForm重置表单”;“提交时”;
我想在成功提交后重置我的表单,我尝试了reduxForm指南中提到的“重置”分派,但没有成功,问题是我没有找到在我的表单中添加“重置”的点,下面是我的代码块:Reactjs 成功后的ReduxForm重置表单”;“提交时”;,reactjs,redux,redux-form,Reactjs,Redux,Redux Form,我想在成功提交后重置我的表单,我尝试了reduxForm指南中提到的“重置”分派,但没有成功,问题是我没有找到在我的表单中添加“重置”的点,下面是我的代码块: import React from 'react'; import DCTLeft from './DctLeft' import DCTRight from './DctRight'; import DCTForm from './dctForm'; import { sendNewMessage } from '../../actio
import React from 'react';
import DCTLeft from './DctLeft'
import DCTRight from './DctRight';
import DCTForm from './dctForm';
import { sendNewMessage } from '../../actions/messages';
import {connect} from 'react-redux';
import {reset} from 'redux-form';
class DCT extends React.PureComponent {
handleSubmit = (value) => {
this.props.sendNewMessage(value);
}
render(){
const { messages } = this.props;
console.log(messages)
return (
<section className="btns">
<section className="navLR">
<DCTLeft/>
<DCTRight/>
</section>
<section className="scroll">
<section className="chat_show">
{messages && messages.map((messages, index) => (
<dl key={index}>
<span className="username">{messages.displayName} :</span> <dd>{messages.text}</dd>
</dl>
))}
</section>
</section>
<DCTForm onSubmit={this.handleSubmit} />
</section>
);
}
}
const mapDispatchToProps = dispatch => {
return {
sendNewMessage: (msg) => dispatch(sendNewMessage(msg)),
}
}
const mapStateToProps = state => ({
messages: state.messages.list,
counter: state.counter.counter
});
export default connect(mapStateToProps,mapDispatchToProps) (DCT);
从“React”导入React;
从“/dctleet”导入dctleet
从“/DCTRight”导入DCTRight;
从“/DCTForm”导入DCTForm;
从“../../actions/messages”导入{sendNewMessage};
从'react redux'导入{connect};
从'redux form'导入{reset};
类DCT扩展了React.PureComponent{
handleSubmit=(值)=>{
this.props.sendNewMessage(值);
}
render(){
const{messages}=this.props;
console.log(消息)
返回(
{messages&&messages.map((消息,索引)=>(
{messages.displayName}:{messages.text}
))}
);
}
}
const mapDispatchToProps=调度=>{
返回{
sendNewMessage:(msg)=>调度(sendNewMessage(msg)),
}
}
常量mapStateToProps=状态=>({
消息:state.messages.list,
计数器:state.counter.counter
});
导出默认连接(MapStateTrops、mapDispatchToProps)(DCT);
提前感谢:)
以下是我的DCT表单代码:
const DCTForm = ({ handleSubmit, onSubmit }) => (
<section className="chat-bg">
<form className="chatBoxForm" onSubmit={handleSubmit(onSubmit)} >
<section className="input_container">
<Input
name="message"
type="text"
/>
<img src={Arrow_up} className="icon-static input_img" alt="Arrow_up" />
<img src={Paper_plane} className="icon-static input_img_2" alt="Paper_plane" />
</section>
</form>
</section>
);
DCTForm.propTypes = {
handleSubmit: PropTypes.func,
onSubmit: PropTypes.func
};
DCTForm.defaultProps = {
handleSubmit: noop,
onSubmit: noop
};
export default reduxForm({
form: "DCTForm"
})(DCTForm)
constdctform=({handleSubmit,onSubmit})=>(
);
DCTForm.propTypes={
handleSubmit:PropTypes.func,
onSubmit:PropTypes.func
};
DCTForm.defaultProps={
handleSubmit:noop,
提交人:noop
};
导出默认reduxForm({
表格:“DCT表格”
})(表格)
他们将重置
功能注入到组件中,该功能重置所有字段的值。你可以查一下
不是从redux表单导入,而是从组件道具获取它重置函数将在这里
const DCTForm=({handleSubmit,onSubmit,reset})=>(
你能给我一个合适的代码块吗?因为我无法正确放置它。只需使用重置功能添加一个按钮,reset
你可以在这里看到:你可以在任何其他时间调用它。如果你想在任何其他文件或时间重置它,你可以像以前一样导入重置,并分派它。导入{reset}来自'redux form';dispatch(reset(“DCTForm”))非常感谢您的帮助,但后来我发现我需要在我的传奇中添加此代码。