我一直在尝试为Netlify CMS创建自定义窗口小部件,以允许插入键值对。但是,有些事情出了问题,我认为它们可能是相关的,因此我只对它们提出一个问题。
这是我的第一个自定义小部件,我主要基于官方教程:https://www.netlifycms.org/docs/custom-widgets/
我使用onSubmitLogin(event){
event.preventDefault();
if(!this.clientValidate()){
let userData ={
email: this.state.email,
password: this.state.password
}
this.props.userLogin(userData);
}
}
handleSubmit = (event) => {
this.onSubmitLogin(event);
// this.checkUserValidation // move this logic to reducer and set error there according to response
}
static getDerivedStateFromProps(nextProps, prevState) {
// handle success/error according to your need and return update state
}
作为值,但是当我向地图添加新元素然后调用Map
回调时,似乎什么都没有发生。但是,如果我将其更改为onChange(value)
,则会更新。似乎onChange(new Map(value))
回调需要一个新对象?
第二,该值似乎并未实际保存。当我填写其他小部件并刷新页面时,它会要求恢复以前的值。但是,它不能还原地图,而可以还原其他值。
最后,我遇到了一个未捕获的异常:在将地图上的任何内容更改后,对象就像是一秒钟。我的猜测是Netlify CMS试图保存地图(将其删除一秒钟,以便不保存我键入的每个字母),但是失败并引发该异常。那将解释先前的问题(非储蓄问题)。
我当前关于自定义窗口小部件的完整代码是:
onChange
我在做什么错了?
谢谢!