JSX 写法的两个问题

今天引入了codemirror 插件,但是在jsx里边的写法让俺很头疼,第一是textarea 里的编码会出现 “{}” 这种括号格式会误认为是js代码,另外一个问题是 加入内部script标签 或者使用{} 写配置属性也会出错.... 下面是图

图片描述

图片描述

阅读 4.2k
2 个回答

建议在componentDidMount之后对你的第三方组件进行初始化。而不是写在render函数中。
不然又可能会被多次render和初始化。

并且不建议在textarea这种标签中嵌套,建议用模板语言对里面的js语句包装一下 比如

<textarea>
    `js code`
</textarea>


<textarea ref="textArea"}>
</textarea>

componentDidMount() {
    CodeMirro.fromTextArea(React.findDOMNode(this.refs.textArea), ...)
}

如果是在React中,可以用react-codemirror这个包。

<CodeMirror options={options} value={this.state.context} onChange={this.onChange}/>

通过props.value传入代码

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题