좋아, 이걸 찾은 것 같습니다. 당신은 그것에 Native.JsProjectWinRTNamespace(L"Windows.Storage");
줄을 추가하여 react-native-windows/ReactWindows/ReactNative/Chakra/Executor/ChakraJavaScriptExecutor.cs
에 InitializeChakra()
기능을 편집 할 수 있어야한다, 그래서 다음과 같이합니다 : 이제
private void InitializeChakra()
{
JavaScriptContext.Current = _runtime.CreateContext();
var consolePropertyId = default(JavaScriptPropertyId);
Native.ThrowIfError(
Native.JsGetPropertyIdFromName("console", out consolePropertyId));
Native.JsProjectWinRTNamespace(L"Windows.Storage");
var consoleObject = JavaScriptValue.CreateObject();
EnsureGlobalObject().SetProperty(consolePropertyId, consoleObject, true);
_consoleInfo = ConsoleInfo;
_consoleLog = ConsoleLog;
_consoleWarn = ConsoleWarn;
_consoleError = ConsoleError;
DefineHostCallback(consoleObject, "info", _consoleInfo);
DefineHostCallback(consoleObject, "log", _consoleLog);
DefineHostCallback(consoleObject, "warn", _consoleWarn);
DefineHostCallback(consoleObject, "error", _consoleError);
Debug.WriteLine("Chakra initialization successful.");
}
, 당신은 ReactNative JS에서 직접 윈도우 API를 사용 할 수 있습니다 코드 예 :
var path = Windows.Storage.ApplicationData.current.localFolder.path;
.
!!! 그러나 Chakra 런타임에서만이 네임 스페이스를 사용할 수 있으므로 Chrome을 사용하여 앱을 디버깅 할 때 항상 'Windows is undefined'
오류가 발생합니다.