十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何在React Native中使用react-moralis:environment=native与getMoralis两步搞定

如何在React Native中使用react-moralis:environment=native与getMoralis两步搞定 如何在React Native中使用react-moralisenvironmentnative与getMoralis两步搞定【免费下载链接】react-moralisHooks and components to use Moralis in a React app项目地址: https://gitcode.com/gh_mirrors/re/react-moralisreact-moralis 是一个为 React 应用提供 Moralis Web3 Hooks 与组件的开源库让你用熟悉的 Hook 方式调用钱包连接、NFT、余额、云函数等 Web3 能力。很多新手不知道把 react-moralis 接入 React Native 其实只需要两步给MoralisProvider加上environmentnative再传一个getMoralis函数指向原生版 SDK。本文带你完整走通这条路径。为什么 React Native 需要特殊配置默认的 react-moralis 是为浏览器环境设计的认证逻辑依赖window.ethereumMetaMask 等浏览器插件这在手机上并不存在默认引入的是moralis-v1的 Web 版构建而移动端需要用moralis-v1/react-native.js这个原生入口。所以在源码里Environment被明确定义为browser | native两种见src/hooks/core/useMoralis/_useMoralisInit.tsProvider 在初始化时会把environment一路传递下去用于决定启用哪些浏览器专属行为。理解这一点后配置思路就很清晰了告诉库我在手机上运行 我给你的是手机版 SDK。第一步设置 environmentnative 声明运行环境MoralisProvider组件接收一个可选的environment属性默认值是browser见src/context/MoralisProvider/MoralisProvider.tsx。在 React Native 项目中把它显式设为nativeMoralisProvider appId{appId} serverUrl{serverUrl} environmentnative App / /MoralisProvider这一步会让内部逻辑跳过浏览器窗口检测比如监听window.ethereum的账户切换事件避免在移动端出现无意义的告警或报错。第二步用 getMoralis 注入原生版 SDK仅声明环境还不够——你还需要让 react-moralis 拿到适配原生端的 Moralis 实例。MoralisProvider提供了getMoralis属性它是一个返回 Moralis SDK 实例的函数import Moralis from moralis-v1/react-native.js; const getMoralis () Moralis;如果不传库会默认使用moralis-v1的 Web 版导入源码中默认值即() MoralisImport在真机上会出问题。getMoralis用函数形式而非直接传对象是为了保证拿到的是最新的 SDK 引用。完整配置示例一个 Provider 跑起来 把两步合并React Native 项目的根组件写法如下import React from react; import Moralis from moralis-v1/react-native.js; import { MoralisProvider } from react-moralis; const getMoralis () Moralis; export default function App() { return ( MoralisProvider appId{appId} serverUrl{serverUrl} environmentnative getMoralis{getMoralis} YourApp / /MoralisProvider ); }配置完成后你就可以在任意子组件里使用useMoralis获取isWeb3Enabled、enableWeb3等状态或使用useNativeBalance、useNFTBalances等 Hook 直接读取链上数据Hook 定义在src/hooks/core/与src/hooks/web3ApiWrappers/目录下。常见问题与注意事项 ✅问题建议忘记传serverUrl/appId初始化会抛出ReactMoralisError两个参数缺一不可移动端想换钱包账户切换监听目前仅在浏览器环境生效environment ! native时直接跳过移动端切换钱包请依赖 SDK 自身机制想在 Web 和 App 中复用同一套代码用同一个MoralisProvider按打包平台动态传入不同的environment与getMoralis即可报错信息看不懂所有自定义错误集中在src/Errors.ts可按错误类型精准捕获快速上手总结安装依赖如需克隆源码研究仓库地址为https://gitcode.com/gh_mirrors/re/react-moralis从moralis-v1/react-native.js导入 Moralis封装成getMoralis函数在MoralisProvider上同时传入environmentnative与getMoralis{getMoralis}在子组件中用useMoralis等 Hooks 调用 Web3 能力。核心实现都在src/context/MoralisProvider/MoralisProvider.tsx与src/hooks/core/useMoralis/_useMoralisInit.ts两个文件中配合类型定义TypeScript 一等公民支持阅读10 分钟即可读懂全部环境适配逻辑。掌握environmentnativegetMoralis这一组合你的 React Native 应用就能安全、顺畅地接入 Moralis 生态了 【免费下载链接】react-moralisHooks and components to use Moralis in a React app项目地址: https://gitcode.com/gh_mirrors/re/react-moralis创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表