{"id":48067,"library":"grpc-react-native","title":"grpc-react-native","description":"A truly native gRPC implementation for React Native, leveraging platform-specific gRPC libraries (C-core on iOS/Android). Currently at v0.3.2, it's in early development and not yet stable. Supports bidirectional streaming and TLS. Key differentiator: uses native gRPC instead of JavaScript polyfills, offering better performance and protocol fidelity for mobile gRPC use cases. Ships TypeScript definitions.","status":"active","version":"0.3.2","language":"javascript","source_language":"en","source_url":"https://github.com/nohns/grpc-react-native","tags":["javascript","react-native","ios","android","typescript"],"install":[{"cmd":"npm install grpc-react-native","lang":"bash","label":"npm"},{"cmd":"yarn add grpc-react-native","lang":"bash","label":"yarn"},{"cmd":"pnpm add grpc-react-native","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; React Native app requires React","package":"react","optional":false},{"reason":"Peer dependency; React Native runtime required","package":"react-native","optional":false}],"imports":[{"note":"Package is ESM-only; CommonJS require may not work properly.","wrong":"const createClient = require('grpc-react-native').createClient","symbol":"createClient","correct":"import { createClient } from 'grpc-react-native'"},{"note":"GrpcClient is a named export, not default.","wrong":"import GrpcClient from 'grpc-react-native'","symbol":"GrpcClient","correct":"import { GrpcClient } from 'grpc-react-native'"},{"note":"Credentials object for TLS configuration.","wrong":"","symbol":"Credentials","correct":"import { Credentials } from 'grpc-react-native'"}],"quickstart":{"code":"import { createClient, GrpcClient, Credentials } from 'grpc-react-native';\n\nconst client = new GrpcClient({\n  host: 'api.example.com',\n  port: 443,\n  useTls: true,\n  credentials: Credentials.createSsl(),\n});\n\nconst exampleService = client.createService('grpc.examples.ExampleService', {\n  unaryCall: { path: '/grpc.examples.ExampleService/UnaryCall', requestStream: false, responseStream: false },\n});\n\nconst call = exampleService.unaryCall({ name: 'world' });\ncall.on('data', (response) => console.log(response.message));\ncall.on('error', (error) => console.error(error));","lang":"typescript","description":"Shows how to create a gRPC client, define a service, and make a unary call with TLS."},"warnings":[{"fix":"Lock dependency to a specific version and test thoroughly.","message":"Package is in early development; APIs may change without notice. Not recommended for production.","severity":"gotcha","affected_versions":">=0.0.0 <1.0.0"},{"fix":"Ensure ReactNative host app supports native modules and run pod install.","message":"Requires native build setup (CocoaPods for iOS, Gradle for Android). Not compatible with Expo or React Native CLI without native modules.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use grpc-web or a different library if these features are needed.","message":"Does not support server reflection or advanced gRPC features (e.g., interceptor, call credentials) in current version.","severity":"gotcha","affected_versions":">=0.0.0 <0.4.0"}],"env_vars":null,"search_vec":"'android':69 'better':51 'bidirect':37 'c':20 'c-core':19 'case':60 'core':21 'current':24 'definit':63 'develop':31 'differenti':42 'earli':30 'fidel':55 'grpc':2,8,17,45,58 'grpc-react-nat':1 'implement':9 'instead':46 'io':68 'ios/android':23 'javascript':48,64 'key':41 'leverag':13 'librari':18 'mobil':57 'nativ':4,7,12,44,67 'offer':50 'perform':52 'platform':15 'platform-specif':14 'polyfil':49 'protocol':54 'react':3,11,66 'react-nat':65 'ship':61 'specif':16 'stabl':35 'stream':38 'support':36 'tls':40 'truli':6 'typescript':62,70 'use':43,59 'v0.3.2':26 'yet':34","created_at":"2026-06-07T16:54:45.719163+00:00","updated_at":"2026-06-07T16:54:45.719163+00:00","problems":[{"fix":"Run 'cd ios && pod install' or ensure native module is linked properly.","cause":"react-native cannot resolve the package due to missing podspec or native module linking.","error":"Module 'grpc-react-native' not found in Haste module map"},{"fix":"Use import syntax: import { createClient } from 'grpc-react-native'.","cause":"Using CommonJS require() with ESM-only package.","error":"TypeError: Cannot read property 'createClient' of undefined"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/nohns/grpc-react-native#readme","github":"https://github.com/nohns/grpc-react-native","docs":null,"changelog":null,"pypi":null,"npm":"grpc-react-native","openapi_spec":null,"status_page":null,"smithery":null,"categories":["messaging"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}