A framework for building native UWP and WPF apps with React.
Switch branches/tags
Clone or download
howlettt and reseul Basic implementation of RCTModalHostView (#1996)
My first stab at creating a modal implementation #618
Latest commit 9614b68 Nov 6, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Updating issue template to include build config Jun 5, 2018
Libraries Added disableContextMenu property to UWP flavor of Text (#2014) Oct 26, 2018
RNTester @ fb38940 chore(RNTester): pointing at the v0.57 RNTester branch Sep 19, 2018
ReactWindows Basic implementation of RCTModalHostView (#1996) Nov 6, 2018
Yoga @ bbcaad4 Revert "chore(Yoga): Update to the latest Yoga branch (#1766)" (#1771) Apr 13, 2018
docs Basic implementation of RCTModalHostView (#1996) Nov 6, 2018
jest chore(NPM): bump react-native dependencies to 0.57 Sep 19, 2018
local-cli fix(ReactNative): Update minimum UWP target to RS1 (#1914) Aug 14, 2018
scripts fix(LICENSE): fixing copyright headers for scripts and local-cli Mar 6, 2018
spec fix(react-native-windows): Updated CI configuration. (#1280) Aug 18, 2017
.editorconfig feat(EditorConfig) - closes Issue #468 (#471) Jun 13, 2016
.eslintignore fix(react-native-windows): ESlint, code style and config. Aug 10, 2017
.eslintrc fix(react-native-windows): ESlint, code style and config. Aug 10, 2017
.flowconfig chore(npm): Updated packages for React Native and other dependencies. Jul 31, 2017
.gitattributes apply consistent whitespace normalization for project files to avoid … Feb 21, 2018
.gitignore fix(Background): Upgrade to Microsoft.NETCore.UWP 6.0.1 Nov 2, 2017
.gitmodules fix(Yoga): Compile Yoga from source (#1642) Feb 20, 2018
CONTRIBUTING.md Updating Contributing.md (#1904) Jul 23, 2018
LICENSE fix(LICENSE): Remove FacebookLicense folder, all local source code no… Mar 6, 2018
NuGet.Config Use official releases of ChakraCore from nuget.org (#1185) Jul 27, 2017
README.md Fix link to system requirements (#1908) Jul 23, 2018
Releases.md chore(NPM): bump version to 0.47.0-rc.4 and update Releases.md Jul 31, 2017
appveyor.yml Add retry to a few more things that contact packaging services to fur… Apr 11, 2018
logo.png 🎨 Add Hero and Logo (#457) Jun 3, 2016
metro.config.js chore(NPM): bump react-native dependencies to 0.57 Sep 19, 2018
package.json chore(NPM): bump react-native dependencies to 0.57 Sep 19, 2018

README.md

React Native plugin for Universal Windows Platform (UWP)

Hero Image with Logo

React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native.

This repository adds support for the Windows 10 SDK, which allows you to build apps for:

Quick Links

Introduction

See the official React Native website for an introduction to React Native.

System Requirements

  • You can build and deploy React Native Windows apps on the Pro or Enterprise versions of Windows 7 SP1, Windows 8.1, or Windows 10
    • You cannot run the emulators and some other developer tooling on the "Starter" or "Home" versions of these operating systems
    • You can run React Native Windows UWP apps only on Windows 10 devices, but React Native Windows WPF apps will run on Windows 7-10 so long as .NET 4.6 is installed on the end user's machine
  • Download Visual Studio 2017 Community or Greater. (Visual Studio 2015 support has been deprecated.)
    • You will need to start Visual Studio after it is installed to do some final setup before it can be used to build or run your React Native Windows application
  • Windows 10 SDK Build 14393

Note: Development on React Native Windows itself currently requires Visual Studio 2017. It is not supported with VS Code, but we will gladly accept pull requests to enable a great developer experience in those environments.

Getting Started

Want to develop a React Native Windows app? Head over to our Getting Started Guide.

Getting Help

Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests and have limited bandwidth to address them.

  • Chat with us on Reactiflux in #react-native-platforms
  • If it turns out that you may have found a bug, please open an issue

Documentation

React Native already has great documentation, and we're working to ensure the React Native Windows plugin is part of that documentation story. Check out the React documentation for further details about the React API in general.

For information on parity status with Android and iOS, including details on implemented and missing components and modules, along with related issues for missing features from partial implementations, go here.

Showing the Debug Menu

  • On UWP, press Shift+F10 to open the debug menu.
  • On WPF, press CTRL+D or CTRL+M to open the debug menu.

Extending React Native

  • Looking for a component? JS.coach
  • Fellow developers write and publish React Native modules to npm and open source them on GitHub.
  • Third party modules may be missing Windows support, so reach out to the project owners directly.
  • Making modules helps grow the React Native ecosystem and community. We recommend writing modules for your use cases and sharing them on npm.
  • You should almost never need to modify or fork React Native Windows itself (the ReactNative and ReactNative.Shared project/sources) to create custom controls. The extension points should already exist to do just about anything!
  • Read the guides on Native Modules for Windows and Native UI Components for Windows if you are interested in extending native functionality.

Opening Issues

If you encounter a bug with the React Native Windows plugin, we would like to hear about it. Search the existing issues and try to make sure your problem doesn’t already exist before opening a new issue. It’s helpful if you include the version of Windows, React Native, React Native Windows plugin, and device family (i.e., mobile, desktop, Xbox, etc.) you’re using. Please include a stack trace and reduced repro case when appropriate, too.

The GitHub issues are intended for bug reports and feature requests. For help and questions with using the React Native Windows plugin please make use of the resources listed in the Getting Help section. There are limited resources available for handling issues, and by keeping the list of open issues lean we can respond in a timely manner.

Contributing

  • Install the system requirements
  • Check out the React Native Windows code itself and install npm dependencies
git clone --recursive https://github.com/ReactWindows/react-native-windows.git
cd react-native-windows
npm install
  • Note: If you just want to get started with developing your own app, read Getting Started with App Development. You only need to interact with npm to use for your app development.

For more information about contributing PRs and issues, see our Contribution Guidelines

Good First Task and help wanted are great starting points for PRs.

Each pull request has the unit tests, code analysis, and a Winium integration test run in the AppVeyor CI service. To shorten the feedback cycle, please be sure to run the unit tests in Visual Studio and verify they are passing before submitting pull requests. For extra credit, verify the examples in RNTester continue to work properly.

Examples

  • If you're looking for sample code, just browse the RNTester folder in the GitHub web UI

License

The React Native Windows plugin, including modifications to the original Facebook source code, and all newly contributed code is provided under the MIT License. Portions of the React Native Windows plugin derived from React Native are copyright Facebook.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.