这里有个问题
来源:8-8 添加持久化数据逻辑代码

来到地球的第一天
2020-07-12
左侧点击 打开文件的时候, fileHelper读取文件拿到内容,给files[id]的body赋值,就触发了fileChange函数,那么就会把当前文件变成为保存状态。。但是我看老师的没有这问题,不知道怎么回事
写回答
2回答
-
_长江长江我是黄河
2021-01-20
遇到类似情况,我猜测是函数内部同步执行导致setActiveFileID在setFiles完成之前导致重复渲染
把setActiveFileID放在readFile的异步回调里即可
if (!currentFile.isLoaded) { readFile(currentFile.path).then(value => { const newFile = { ...files[fileID], body: value, isLoaded: true } setFiles({ ...files, [fileID]: newFile }) setActiveFileID(fileID) }) } else { setActiveFileID(fileID) }
00 -
张轩
2020-07-15
同学你好 在本地测试了一下 我这里fileHelper 读取 并没有触发 fileChange 函数。不知道你的 SimpleMDE 是怎么写的。我本地的写法
<SimpleMDE key={activeFile && activeFile.id} value={activeFile && activeFile.body} onChange={(value) => {fileChange(activeFile.id, value)}} options={{ minHeight: '515px', }} />
00
相似问题