我在 Django 中有一个 API 项目,我想将 Node js 与 django 一起使用,并知道是否可以将 React 与两者结合使用来实现我的应用程序的前端,如果可能的话,建议开发这样申请?或者哪一个是使用这些技术的更好选择?
在 django 中我使用
->Django Rest 框架
Node js 我想用它为我的应用程序提供实时
-->Socket.io
react
-->Redux --> react 路由器
非常感谢您的时间和关注。
最佳答案
解决方案是放弃单页面应用程序模型,而是让 Django 单独服务每个页面,每个页面都有一个根 React 组件。我们的基本站点组件在页面之间不发生变化(例如导航栏、页脚),由 Django 模板提供,并且每个页面特定的内容(例如扑克界面、排行榜)在 React 中组成。
- 放弃SPA,为什么要说这么可怕的话?! 单页应用程序并不总是解决方案,通过由 Django 处理页面样板和路由,我们获得了稳定性(错误仅限于一页)、更轻松的调试、轻松的搜索引擎索引以及更轻松的静态页面管理
- 当您在 Django 模板中拥有所有页面样板时,为静态内容创建非 React 页面(例如关于页面、登录页面)会更容易
- 无需处理 React 路由器、History API 或后台异步获取页面内容(稍后的文章将详细介绍如何在不刷新的情况下进行页面热加载)
对于React组件
import React from 'react'
import ReactDOM from 'react-dom'
const Leaderboard = ({users}) =>
<div>
<h1>Featured Players</h1>
{users.map(user =>
<a href={`/user/${user.username}/`}>
{user.username}
</a>)}
</div>
ReactDOM.render(
React.createElement(Leaderboard, window.props), // gets the props that are passed in the template
window.react_mount, // a reference to the #react div that we render to
)
关于javascript - 如何将 Django API 项目与 Nodejs 集成并在前端使用react?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42943160/