Skip to content

Windows Runtime projection for React Native for Windows

License

Notifications You must be signed in to change notification settings

microsoft/react-native-winrt

Repository files navigation

React Native WinRT

React Native WinRT is a module for React Native for Windows developers who want to call native (non-XAML) WinRT APIs in their apps. It uses components from xlang to parse metadata for public or private WinRT COM APIs and generate JSI (JavaScript Interface) wrappers for C++/WinRT types at compile-time. The code generator was itself derived from cppwinrt.exe.

This repo generates the react-native-winrt npm package as well as the Microsoft.ReactNative.WinRT NuGet packages for specific versions of React Native Windows.

Getting started

Refer to the usage docs for instructions on how to use React Native WinRT in your React Native Windows app to call projected WinRT APIs in JavaScript.

Sample code

See the sample app for an example of using React Native WinRT to consume WinRT APIs.

Note: This is an example of the sample app. The image is pulled from the user's photo library and will likely be different.

Versioning

The versioning scheme for React Native WinRT aligns with versions of React Native for Windows. A new major version of React Native for Windows is not guaranteed to be supported by a mismatched version of React Native WinRT. For example, a React Native for Windows 0.67 app may not be compatible with react-native-winrt 0.66.* package versions due to potential breaking changes.

React Native WinRT currently supports the following versions of React Native for Windows:

Contributing

We want to hear from you! File a new issue to report a bug, ask a question, or make a suggestion. See our Contributor's Guide for more information.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.