2

应用程序正在从服务器接收 HTML 文件。

该数据(responseToPost)可以像这样显示在页面上:

<div dangerouslySetInnerHTML={{ __html: this.state.responseToPost }} />

我想知道是否可以创建一个新的 URL 来显示这些数据?

html 文件具有以下格式:

<hr />
<p>title: "my-title"</p>
<h2 id="123">a....

我希望创建的页面像:localhost:3000/my-title并在该页面上显示 HTML。

有可能吗?我应该使用什么方法?

4

2 回答 2

0

这对于React Router来说是完全可行的。

您需要将npm依赖项拉入您的项目,然后您可以将您的路线设置my-title<Route>,然后在您的情况下在该页面上呈现您喜欢的任何内容responseToPost

显然 setup 需要更多的步骤,而不仅仅是声明 a<Route>但官方文档非常好:React Router 官方文档

于 2020-09-21T20:21:32.043 回答
0

你可以为此使用React Router。我建议有一个特殊的路线,让我们说/pages/(代码简化):


// On your Routes (usually App.js) page:
import { BrowserRouter as Router, Route } from "react-router-dom";

<Router>
  <Route path="/pages/:pageslug" component={Page} />
</Router>

const PAGES = {
  'my-title': "<div>...</div>"
};

// Page.js
export function Page({ match }) {
  return (
    <div dangerouslySetInnerHTML={{ __html: PAGES[match.params.pageslug] }} />  
  );
}
于 2020-09-21T20:23:32.590 回答