我需要导入标记文件动态切片文件的一部分并将结果添加到变量并在我的 React 应用程序中渲染结果:
import('../changelog.md').then(...)
我试图这样做render()
具有所有逻辑的方法,但我有问题。我需要在哪里导入它(在类中或外部)以及如何获取将其粘贴到变量的承诺值?
这是一种方法:
class MyComponent extends React.Component {
state = {html: null}
componentDidMount() {
import('../changelog.md').then(mod => {
this.setState({html: mod.default})
})
}
render() {
return this.state.html ? <div dangerouslySetInnerHTML={{__html:this.state.html}} /> : <p>Loading...</p>
}
}
假设你有一个.md
加载器并返回 HTML。
import()
返回一个 Promise。因此,您必须等待它解析才能渲染它。最简单的方法是在componentDidMount
(React 推荐 https://reactjs.org/docs/faq-ajax.html您将所有 ajax 请求放在那里,这有点类似),然后将其复制到状态以在完成后强制重新渲染。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)