点击 Show in Console 会看到提及俩关键词 Dataview / ReactComponents
如果必须怀疑一个, 那大概率是 ReactComponents 因为这插件好久没更新了 elias-sundqvist/obsidian-react-components (两年前)
那么先试着禁用掉该插件, 重启 Ob, 会发现 canvas 好了
如果仍然需要使用 ReactComponents, 可以考虑看看 MeepTech/obsidian-react-components-canvas-fix 这看名字就是专门给 ReactComponents 打补丁的, 但它没提供 main.js 无法直接下载了用
所以检查它到底补丁了啥代码, 见 src/header.tsx diff 发现其实就改了一点代码:
那么把这个抄到本地的 main.js 里面, 就行了
具体说, 就是本地 .obsidian/plugins/obsidian-react-components/main.js 这个文件, 第 145601 行
// 第 145601 行
registerHeaderProcessor() {
this.registerMarkdownPostProcessor((_, ctx) => __awaiter(this, void 0, void 0, function* () {
var _a, _b;
+ if (!ctx.sourcePath) { return } // <-- 仿照 react-components-canvas-fix, 补上这一行的逻辑
if (!((_a = ctx.containerEl) === null || _a === void 0 ? void 0 : _a.hasClass('markdown-preview-section'))) {
return;
}
完后重启 Ob 应该就好了
PS. 也见 React Components break Canvas ‘text’ cards · Issue #49 · elias-sundqvist/obsidian-react-components 这个办法估计也行

