所以我一直在从事一个项目,该项目的后端使用Django / Django-Rest编写,而前端当前使用React编写。确实很棒,但是该项目的总体目标应该是一个移动应用程序,我们已将其转向React Native。我没有看到很多关于在React和React Native之间进行转换的资源。
它们有多相似?甚至可以将我们的任何前端代码从React移植到React Native?您甚至可以将Django / Django-REST后端集成到React Native前端中?
我知道这是一些非常开放的问题,但是我还没有找到很多资源,因此我们将不胜感激。
谢谢
答案 0 :(得分:1)
实际上是一个很广泛的问题,但我会提供我的意见:
[React Native和React]有多相似?
两者都依赖于React组件及其生命周期,并且它们是用相同的语言编写的。但是,React Native是正在编译为本机代码的JS。由于这个限制,在React中有效的HTML在React Native中不是。而且,CSS必须以全JS样式编写,并且某些样式属性根本不存在于本机中(例如display
是flex
或none
)。示例:
// React
import React from 'react';
class MyComponent extends React.Component {
render() {
return (
<div style="background-color: red">
hello world
</div>
)
}
}
// React Native
import React from 'react';
import { Text } from 'react-native';
class MyComponent extends React.Component {
render() {
return (
<Text style={{backgroundColor: 'red'}}>
hello world
</Text>
)
}
}
除此之外,您还可以在React Native中重用许多React内容,例如react-redux
之类。
大多数面向接口的库根本无法在React Native中使用,因为DOM操作是不同的。从React完全过渡到React-Native并非总是可行的,有时它需要对一堆令人讨厌的小东西进行大量重写(Native中没有display: block
,记得吗?)
您甚至可以将Django / Django-REST后端集成到React Native前端中吗?
更复杂。
React Native生成独立的应用程序,因此不需要任何服务器即可为其提供服务。
对于与API交互的整个 ,您仍然可以在某些服务器上提供API并从React Native应用访问它。在那里不用担心(但要提防 CORS。
如果您只想将应用程序从React移植到React Native ,那就结束了。但是请记住:React Native产生独立的应用程序,您可以使用它使React Native发出自己的HTTP请求,而无需通过一些调用的API!而且,它可以本地存储数据,因此可能可以保存一些后端调用(登录,个人资料信息检索等)!这可能包括一些重构,但是您将构建一个更快,更便宜的应用程序。
还有很多事情要说,但是由于您的应用程序结构没有任何进一步的细节,因此很难提供有关移植应用程序的更多建议和细节。希望能有所帮助!