以下是一个基于React和Material-UI的Markdown编辑器的代码示例:
```jsx
import React, { useState } from "react";
import { makeStyles } from "@material-ui/core/styles";
import Grid from "@material-ui/core/Grid";
import Paper from "@material-ui/core/Paper";
import TextField from "@material-ui/core/TextField";
import Markdown from "markdown-to-jsx";
const useStyles = makeStyles((theme) => ({
root: {
flexGrow: 1,
padding: theme.spacing(2),
},
paper: {
height: "100%",
padding: theme.spacing(2),
},
}));
function App() {
const classes = useStyles();
const [markdown, setMarkdown] = useState("");
const handleMarkdownChange = (event) => {
setMarkdown(event.target.value);
};
return (
);
}
export default App;
```
这个编辑器使用了Material-UI库来创建界面组件,并使用markdown-to-jsx库将Markdown文本转换为React组件。在页面加载时,它会自动创建一个包含两个文本框的网格布局,左侧是Markdown编辑框,右侧是实时预览框。当用户在Markdown编辑框中输入文本时,实时预览框会自动更新。
你可以根据需要调整界面样式和其他选项。注意,在使用这个编辑