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.
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.
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.
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:
- release/0.72
- release/0.71
- release/0.70
- release/0.69
- release/0.68
- release/0.67
- release/0.66
- release/0.65
- release/0.64
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.
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.