【发布时间】:2020-03-02 10:42:06
【问题描述】:
我正在使用 create-react-app 和几个外部模块,例如 react-markdown。如何“要求”动态生成的文件名?我有数千个降价文件,我需要即时加载它们。如果我提供静态路径,我的组件工作正常,但当我尝试连接路径时不起作用。我无法静态导入,因为文件太多。
例子:
import React, { useState, useEffect } from "react";
import ReactMarkdown from "react-markdown/with-html"
const MarkdownServer = ({myMarkdownFilename}) => {
const [markdown, setValue] = useState([]);
useEffect(() => {
async function fetchData() {
// this works...
// const p = require("../../assets/markdown/mymarkdown.md")
// this does not.
const p = require("../../assets/markdown/" + myMarkdownFilename);
const markdown = await fetch(p).then(res => res.text());
setValue(markdown);
}
fetchData();
}, []);
return (
<p>
<ReactMarkdown source={ markdown } escapeHtml={false} />
</p>
);
};
export default MarkdownServer;
错误:
Unhandled Rejection (Error): Cannot find module '../../assets/markdown/mymarkdown.md'
【问题讨论】:
标签: reactjs