reactjs - spring boot jsp页面中如何导入react组件

标签 reactjs spring-boot jsp frontend

我正在创建 Spring Boot 应用程序,我希望我的前端使用 React。问题来自于我找不到在我的 jsp 页面中正确集成 React 组件的方法。

这里是组件的声明:

ReactDOM.render(<App />, document.getElementById('root'));

我想指出,我的 jsp 页面在 WEB-INF 目录中,我可以通过 Controller 成功重定向到它,但是我导入的组件不起作用,也没有抛出错误!

我尝试通过元素 id 导入它:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Intellij is trash</title>
</head>
<body>
ala bala

<div id="root"></div>

<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>
</body>
</html>

我是不是做错了什么或错过了一些配置?

预先感谢您的帮助!

最佳答案

导入 React 和 ReactDOM 脚本后,导入您编写组件 App 的另一个脚本。假设它在 App.js 中,

<script src="App.js"></script>

现在您需要在 id="root"的 div 中渲染组件。我将使用 babel 进行编译,但你也可以不用它。所以导入后写:

<script type="text/babel">
ReactDOM.render(<App />, document.getElementById('root'));
</script>

结论:基本上您需要按顺序导入 4 个文件:React、ReactDOM、Babel 和您的 component.js 文件。然后您需要在 div 中渲染该组件才能使其工作。

<script src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
<script src="App.js"></script>

<script type="text/babel">
    ReactDOM.render(<App />, document.getElementById('root'));
</script>

关于reactjs - spring boot jsp页面中如何导入react组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58976309/

相关文章:

javascript - 从 express 后端获取后 react 未决的 promise

javascript - 在 react-router 中用连字符匹配路由

reactjs - API 请求的 redux 传奇有意义吗?

java - Gradle 包含来自 webapp 目录的 Freemarker 文件

linux - Spring Boot : How to override properties with dash "-" on Linux ENV . 配置文件?

java - jsp中的href标签并通过单击href标签传递数据

jsp - 如何在不包含上下文根名称的情况下使用相对路径?

css - 语义 UI React - 从容器中出来的 float 按钮?

java - 使用 session 在 servlet 中存储和检索 JSP 中的值

java - Spring启动数据r2dbc自动创建表