microsoft / microsoft/react-native-windows

Improve Microsoft.ReactNative.dll Instance management API

Open
#4,542 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Area: Core DLL Area: Instance Management enhancement Workstream: ES Compliance SFI
Dominant language
C++
Stars
17.3k
Forks
1.2k
Avg merge
1d 13h
Merged PRs (30d)
33

Description

Task: Improve Microsoft.ReactNative.dll Instance management API

Summary

Currently IReactNativeHost exposes only rudimentary API to reload ReactNative instance. It does not even allow to observe the result of the asynchronous operation. We must improve the IReactNativeHost to be matching the functionality of the IReactHost that we have internally.

Motivation

  • We must be able to write unit tests against the Microsoft.ReactNative.dll API. It means that we must be able to observe all work completion before each unit tests finishes.
  • Implementation of ReactApplication in Microsoft.ReactNative.Uwp.dll must have ful control over the ReactNative instance life management.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the public IReactNativeHost API with the internal IReactHost functionality mentioned in the issue. Then inspect how ReactApplication in Microsoft.ReactNative.Uwp.dll manages the React Native instance. Done means the public API exposes lifecycle control and asynchronous completion sufficient for unit tests to observe all work before finishing.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, react-native
Domain
api, mobile-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.