Ways to Contribute
There are many ways to contribute to React Native:Report Bugs
Help identify and document issues in React Native
Improve Documentation
Fix errors or add missing information to the docs
Submit Pull Requests
Contribute code fixes and new features
Review Code
Help review pull requests from other contributors
Answer Questions
Help community members on GitHub, Discord, or Stack Overflow
Triage Issues
Help organize and prioritize reported issues
Getting Started
Understand the Codebase
Familiarize yourself with:
- The project structure
- Coding conventions
- Testing practices
- Build process
Find an Issue to Work On
Look for issues labeled:
good first issue- Great for newcomershelp wanted- Issues that need attention- Check the issues page
Make Your Changes
- Create a new branch for your work
- Write clean, well-documented code
- Follow existing code style and conventions
- Add tests for new functionality
Submit a Pull Request
- Push your branch to your fork
- Open a pull request against the main branch
- Fill out the PR template completely
- Link related issues
Reporting Issues
Before Creating an Issue
Check if the issue already exists
Ensure you’re using the latest version
Verify it’s a React Native issue (not your app code)
Prepare a minimal reproduction
Creating a Good Issue Report
A good bug report should include:- Clear title - Summarize the problem in one line
- Description - Explain what happened and what you expected
- React Native version - Which version are you using?
- Platform - iOS, Android, or both?
- Reproduction - Steps to reproduce the issue
- Code snippet - Minimal code that demonstrates the problem
- Screenshots/videos - If applicable
- Environment info - OS, device, etc.
Submitting Pull Requests
Pull Request Guidelines
Your PR should:- Have a clear title and description
- Reference related issues (e.g., “Fixes #12345”)
- Include tests for new functionality
- Update documentation if needed
- Follow the existing code style
- Pass all CI checks
- Be focused on a single concern
PR Review Process
- Automated checks run on your PR (tests, linting, etc.)
- Maintainers review your code and provide feedback
- You address feedback by pushing new commits
- Approval - Once approved, a maintainer will merge your PR
Development Workflow
Testing Changes on iOS
Testing Changes on Android
Running Tests
Code Style
React Native uses:- Prettier for code formatting
- ESLint for code quality
- Flow for type checking (being migrated to TypeScript)
Commit Message Guidelines
Write clear, concise commit messages:- Use the imperative mood (“Add feature” not “Added feature”)
- Keep the first line under 72 characters
- Reference issues and PRs when relevant
- Provide context in the commit body
Community Guidelines
Be respectful and inclusive
Welcome newcomers
Focus on constructive feedback
Follow the Code of Conduct
Getting Help
If you need help with your contribution:- Ask in the discussions forum
- Join the Reactiflux Discord #react-native channel
- Check the contributor documentation
Recognition
Contributors who demonstrate consistent commitment may be invited to become:- Core Contributors - Granted additional privileges and responsibilities
- Maintainers - For community packages
Resources
Thank you for helping make React Native better! Every contribution, no matter how small, is valuable to the community.