首页 > 其他分享 >astro中使用第三方控件问题

astro中使用第三方控件问题

时间:2024-08-06 16:08:02浏览次数:5  
标签:控件 react rehype astro useState Editor text import 第三方

import Editor from "@monaco-editor/react";
import { useState } from "react";
import Markdown from "react-markdown";
import rehypeHighlight from "rehype-highlight";
import rehypeRaw from "rehype-raw"; // 6.1.1 works! 7.0.0 don't
import rehypeSlug from "rehype-slug";
import remarkGfm from "remark-gfm";
import remarkToc from "remark-toc";

export default () => {
	const [text, setText] = useState("# hello");
	return (
		<div style={{ display: "flex", height: "40vh" }}>
			<div style={{ flex: "50%" }}>
				<Editor
					height={"100%"}
					defaultLanguage="markdown"
					defaultValue={text}
					onChange={(value, _event) => setText(value || "")}
				/>
			</div>
			<div style={{ flex: "50%", height: "100%", overflow: "scroll" }}>
				<Markdown
					rehypePlugins={[rehypeHighlight, rehypeRaw, rehypeSlug]}
					remarkPlugins={[remarkGfm, remarkToc]}
				>
					{text}
				</Markdown>
			</div>
		</div>
	);
};

一直在<Editor处出错,经搜索,进行如下修改:

import Editor from "@monaco-editor/react";
import { useState } from "react";
import Markdown from "react-markdown";
import rehypeHighlight from "rehype-highlight";
import rehypeRaw from "rehype-raw"; // 6.1.1 works! 7.0.0 don't
import rehypeSlug from "rehype-slug";
import remarkGfm from "remark-gfm";
import remarkToc from "remark-toc";

// 没有下面的语句,编译失败
const MNEditor = Editor.default ?? Editor;

export default () => {
	const [text, setText] = useState("# hello");
	return (
		<div style={{ display: "flex", height: "40vh" }}>
			<div style={{ flex: "50%" }}>
				<MNEditor
					height={"100%"}
					defaultLanguage="markdown"
					defaultValue={text}
					onChange={(value, _event) => setText(value || "")}
				/>
			</div>
			<div style={{ flex: "50%", height: "100%", overflow: "scroll" }}>
				<Markdown
					rehypePlugins={[rehypeHighlight, rehypeRaw, rehypeSlug]}
					remarkPlugins={[remarkGfm, remarkToc]}
				>
					{text}
				</Markdown>
			</div>
		</div>
	);
};

标签:控件,react,rehype,astro,useState,Editor,text,import,第三方
From: https://www.cnblogs.com/soarowl/p/18345344

相关文章

  • WPF ScrollViewer控件 触屏滑动
    备份下  原文 https://www.cnblogs.com/webenh/p/18207292<ScrollViewerx:Name="scroll"TouchDown="mScrollViewer_TouchDown"TouchMove="mScrollViewer_TouchMove"TouchUp="mScrollViewer_TouchUp"></ScrollViewer>......
  • WPF的容器控件之Gird
    WPF的容器控件之GirdGrid顾名思义就是“网格”,以表格形式布局元素,对于整个面板上的元素进行布局,它的子控件被放在一个一个事先定义好的小格子里面,整齐配列。Grid和其他各个Panel比较起来,功能最多也最为复杂。要使Grid,首先要向RowDefinitions和ColumnDefinitions属性中添加......
  • 【番外篇】Android Studio 中 Banner控件实现首页轮播图
    目录一、创建一个空项目二、导入依赖包,添加网络权限三、写布局文件四、写入Java代码完整的Java文件代码:完整的xml代码: 许多App首页都会有轮播图,下面来介绍一下AndroidStudio中如何用Banner控件完成轮播图的效果:一、创建一个空项目为了方便,这里我们把模块名命名......
  • 获取第三方GET接口的data数据,服务器需要设置正确的 Access-Control-Allow-Origin
    在现代Web开发中,由于同源策略的限制,浏览器通常不允许从一个域名(origin)直接访问另一个域名的资源,除非服务器端设置了适当的CORS(跨源资源共享)策略。项目中如何直接获取get接口https://api.cp.139.com/cgate/cme/v1/appUpgrade/version?channel=baidu02下的接口相应对象:{"code":......
  • WPF 布局控件的使用
    一、Grid1.Grid元素用于精确定位行和列中的内容。标签含义Grid.RowDefinitions可以创建任意行,进行固定高度与百分比高度设置。Grid.ColumnDefinitions可以创建任意列,进行固定宽度与百分宽度设置。 2.以下代码创建了两行,第一行占20像素高,第二行占剩......
  • cmake引入第三方库的debug和release版本之Windows版本
    概述#本文将介绍cmak引入第三方库debug和release不同配置。Windows上,习惯将debug模式下生成的动态库名后缀添加D以作和release区分。cmake创建一个项目A,A引入动态库B,cmake怎么配置A链接动态库B的debug和release对应的库呢本文的教程是基于 这里,如果没有看,我推荐你先看......
  • Android 之 PopUpWindow 控件的使用(努力z的日记)
    Gif示例:上面的示例是模仿一些App设置的弹窗,为了实现上面gif中的效果,可以通过PopUpWindow实现。以下是实现过程。(欢迎大佬指证o.o)1:创建PopUpWindow动画(anim)    这个anim是在开发中扮演很重要的一环,因为好看o.o,所以麻烦。浅入浅出是我们比较常见的。(因为周师傅只会......
  • 界面控件DevExpress WinForms v24.1系统环境配置要求
    DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!本文档包含有关安装和使用 DevExpressWinForms ......
  • astro cherry-markdown 示例
    cherry-markdown是一个TS编写的markdown编辑器。---import"cherry-markdown/dist/cherry-markdown.css";---<cherry-mark><textarea></textarea></cherry-mark><script>importCherryfrom"cherry-markdown";cla......
  • 5、Qt-pyqt6常用基本控件 - 按钮控件
    Buttons--按钮类控件名说明PushButton按钮ToolButton工具按钮RadioButton单选按钮CheckBox复选框CommandLinkButton命令链接按钮DialogButtonBox对话框按钮盒......