gpt4 book ai didi

reactjs - 如何在常规 HTML 页面中引用 React 组件

转载 作者:行者123 更新时间:2023-12-05 08:11:55 29 4
gpt4 key购买 nike

我创建了一个带有 index.html 的 React 应用程序,如下所示:

<!DOCTYPE html!>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="react-container"></div>
<script type="text/javascript" src="assets/bundle.js"></script>
</body>
</html>

Index.html 引用 index.js(来自 bundle.js),后者调用 ReactDOM.render 来呈现应用程序,如下所示:

import React from 'react'
import { render } from 'react-dom'
import App from './components/App'
import { Provider } from 'react-redux'
import configureStore from './redux/configureStore'

render(
<Provider store={configureStore()}>
<App />
</Provider>,
document.getElementById('react-container')
)

到目前为止一切顺利。但我希望我的组件可以在其他 Web 应用程序中重用。那我需要做什么?

我想我不会在包中提供 index.html 或 index.js 文件?但是我应该如何在其他 Web 应用程序中引用该组件呢?我想我需要引用 bundle.js 文件,但是我如何指定导入?那巴别塔呢?还有 React 库?

因为我也在用 Redux,所以我需要一个 Provider,我需要配置一个 store。我应该在哪里做?

最佳答案

为了能够重用组件,您需要构建它以导出渲染函数。我认为 nwb 很适合你 https://github.com/insin/nwb/blob/master/docs/guides/ReactComponents.md#developing-react-components-and-libraries-with-nwb通过这种方式,您可以构建一个导出全局变量的 UMD 模块以与您的脚本标记一起使用和/或将其发布到 npm

与其使用 ReactDOM 显式渲染它,不如让 index.js 导出一个组件。例如:

export default props =>
<Provider store={configureStore()}>
<App />
</Provider>

然后让用户代码将其呈现给dom

 ReactDOM.render(React.createElement(YourLibraryGlobalNameGeneratedFromNwb))

关于reactjs - 如何在常规 HTML 页面中引用 React 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44295752/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com