我正在使用 Slate JS 编辑器构建一个 textarea 电子邮件表单。我想显示我自己的值,而不是 slate 默认初始状态值,该值作为来自 redux 的道具传递给组件。
所以代替这个:
<Editor
spellCheck
autoFocus
placeholder="Enter your text..."
ref={this.ref}
**value = {this.state.value}**
onPaste={this.onPaste}
onChange={this.onChange}
renderNode={this.renderNode}
renderMark={this.renderMark}
/>
我正在这样做:
<Editor
spellCheck
autoFocus
placeholder="Enter your text..."
ref={this.ref}
**value = {Value.fromJSON(JSON.stringify(this.props.richText))}**
onPaste={this.onPaste}
onChange={this.onChange}
renderNode={this.renderNode}
renderMark={this.renderMark}
/>
因此,该道具作为对象传递,首先转换为 json,然后转换为所需的 slate 编辑器格式。这不会破坏组件,但该值不会显示在编辑器中。我做错了什么以及将 slate 编辑器值设置为道具的正确方法是什么?感谢您对此的任何帮助!