目前老旧系统是php前后端未分离,前端之前使用的jq,现在打算用react重构,但周期较长,所以在新任务上或者部分react重构,这样就有一个问题,就是react重构部分如何与前后端未分离部分数据共享,另外部署和第一次访问的时候,react部分的加载问题?如何可以解决呢?
目前老旧系统是php前后端未分离,前端之前使用的jq,现在打算用react重构,但周期较长,所以在新任务上或者部分react重构,这样就有一个问题,就是react重构部分如何与前后端未分离部分数据共享,另外部署和第一次访问的时候,react部分的加载问题?如何可以解决呢?
这是一个现在非常常见的问题,旧系统还在,新系统不可能一次性完成切割,所以想引用React这类第三代前端框架非常麻烦。
我推荐你采用局部切换的方案,一个页面一个页面的切换过去。
首先,你可以使用create-react-app或其他方法新建一个独立的react项目,然后编辑好相关的页面及路由。然后在你的web容器里(nginx或apache等)进行配置,将对应的内容引导到指定目录,这样你就可以在一个网站同时并存两套代码了。
当然,piglet给你的方案也是一个办法,不过这方案更倾向于把React当作jquery来使用,但React实际带给我们的是一整套工程化的思想,所以如果你只是用了他的依赖库而没有使用他的工程思想,你得到的将会是一个不完整的React。
如果想在前后端未分离的项目中引入 React,可以通过以下步骤实现:
在项目中安装 React 和相关依赖,如 React DOM:
npm install react react-dom
在项目中新建一个组件,使用 React 语法来编写组件的逻辑。例如:
import React from 'react';
class MyComponent extends React.Component {
render() {
return <h1>Hello, world!</h1>;
}
}
在项目的 HTML 页面中引入 React 组件,并在相应的位置渲染组件:
<body>
<div id="root"></div>
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="path/to/my-component.js"></script>
<script>
ReactDOM.render(<MyComponent />, document.getElementById('root'));
</script>
</body>
在这里,我们通过 script 标签引入了 React 和 React DOM 的库文件,并使用 ReactDOM.render() 方法将组件渲染到页面的 #root 元素中。
注意:以上只是一个简单的示例。
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
2 回答4.3k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
5 回答3.9k 阅读
reactjs 是可以直接引入的