[英]How to update the state in reactjs?
最初我有一個CKeditor組件,從那里有一個狀態變量editorContent
<CKEditor id="currentCKEditor" activeClass="editor" key={this.state.editorContent} content={this.state.editorContent} events={{ "change": this.onChange, "instanceReady": this.ckeditorInstanceReady }} />
呈現組件時,editorContent來自templatestoreChange。
_templateStoreChange(type) {
if (type == 'SingleTemplate') {
let singletemplate = TemplateStore._getSingleTemplate() || {};
console.log("single template response", singletemplate);
this.setState({ editorContent: singletemplate.template.html });
}
}
在這里調用templateStoreChange logSig之后,editorContent發生更改。
logSig = () => {
const signaturedata = this.signaturePad.toDataURL();
let elem= '<img alt src=' + signaturedata + ' />';
this.setState({
openSignatureDialog: false,
editorContent:elem
})
console.log("signaturedata", signaturedata);
}`enter code here`
我需要更新狀態,而不是刪除整個狀態並將其更改為新狀態。
您僅將elem
變量分配給editorContent
並且丟失了之前創建的全部內容。
解決方案是將elem
變量連接到現有狀態。
logSig = () => {
const signaturedata = this.signaturePad.toDataURL();
let elem = '<img alt src=' + signaturedata + ' />';
this.setState({
openSignatureDialog: false,
editorContent: this.state.editorContent + elem
})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.