确实是一个非常广泛的问题,但我会给出我的意见:
[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 的东西可以在 React Native 中重用,比如 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!此外,它可以在本地存储数据,因此可能会保存一些后端调用(登录、配置文件信息检索等)!这可能包括一些重构,但您将构建一个更快、更便宜的应用程序。
还有很多话要说,但是如果没有关于您的应用程序结构的任何进一步细节,就很难提供有关移植应用程序的更多建议和细节。希望对您有所帮助!