Uncaught TypeError: string.split is not a function
at splitLinesAuto (codemirror.js:681)
at Doc.splitLines (codemirror.js:6461)
at Doc.<anonymous> (codemirror.js:6115)
at Doc.setValue (codemirror.js:3942)
at EasyMDE.push../node_modules/easymde/src/js/easymde.js.EasyMDE.value (easymde.js:2608)
at new EasyMDE (easymde.js:1753)
at SimpleMDEEditor._this.createEditor (index.tsx:125)
at SimpleMDEEditor.componentDidMount (index.tsx:78)
at commitLifeCycles (react-dom.development.js:19814)
at commitLayoutEffects (react-dom.development.js:22803)
at HTMLUnknownElement.callCallback (react-dom.development.js:188)
at Object.invokeGuardedCallbackDev (react-dom.development.js:237)
at invokeGuardedCallback (react-dom.development.js:292)
at commitRootImpl (react-dom.development.js:22541)
at unstable_runWithPriority (scheduler.development.js:653)
at runWithPriority$1 (react-dom.development.js:11039)
at commitRoot (react-dom.development.js:22381)
at finishSyncRender (react-dom.development.js:21807)
at performSyncWorkOnRoot (react-dom.development.js:21793)
at react-dom.development.js:11089
at unstable_runWithPriority (scheduler.development.js:653)
at runWithPriority$1 (react-dom.development.js:11039)
at flushSyncCallbackQueueImpl (react-dom.development.js:11084)
at flushSyncCallbackQueue (react-dom.development.js:11072)
at discreteUpdates$1 (react-dom.development.js:21893)
at discreteUpdates (react-dom.development.js:806)
at dispatchDiscreteEvent (react-dom.development.js:4168)
The above error occurred in the <SimpleMDEEditor> component:
in SimpleMDEEditor (at App.js:75)
in div (at App.js:58)
in div (at App.js:31)
in div (at App.js:30)
in App (at src/index.js:9)
in StrictMode (at src/index.js:8)
Consider adding an error boundary to your tree to customize error handling behavior.
Visit https://fb.me/react-error-boundaries to learn more about error boundaries.
根据以上的报错信息,可以锁定报错的地方是在 simplemde-editor,这个插件里面,
react-simplemde-editor
页面中组件的使用情况
<SimpleMDE
value={activeFile}
onChange={(value) => { console.log(value) }}
options={{
minHeight: '515px'
}}
/>
本来一直都想不出来是什么原因的,后来突然想到传入 value 的 activeFile 是一个对象, value 的应该是只能接受字符串之类的,改成 activeFile 对象 里面的 body 属性,就不报错了。
<SimpleMDE
value={activeFile.body}
onChange={(value) => { console.log(value) }}
options={{
minHeight: '515px'
}}
/>
本来是不该出现这个错误的,太粗心了。😓😓😓😓😓😓😓