小编Dan*_*Dan的帖子

“parserOptions.project”已为@typescript-eslint/parser 设置

我创建了一个新的 React Native 项目 --template typescript

我删除了template作为样板文件一部分的目录。

然后我继续添加 ESLint:

module.exports = {
  parser: "@typescript-eslint/parser",
  plugins: ["@typescript-eslint"],
  extends: ["airbnb-typescript-prettier"]
};
Run Code Online (Sandbox Code Playgroud)

但是,当我打开时babel.config.js,出现此错误

解析错误:已为@typescript-eslint/parser 设置了“parserOptions.project”。

该文件与您的项目配置不匹配:/Users/Dan/site/babel.config.js.

该文件必须至少包含在提供的项目之一中。eslint

typescript eslint typescript-eslint

109
推荐指数
10
解决办法
9万
查看次数

使用flow时忽略node_modules

flow在我的React Native应用程序中使用,flow的初始启动速度非常慢,因为它遍历我的node_modules目录.Flow报告来自这些第三方库的大量错误,我无法修复.

我可以告诉流程忽略其中的任何错误node_modules吗?我在配置文件中有这个:

[ignore]
.*/node_modules/.*
Run Code Online (Sandbox Code Playgroud)

然而,流程现在告诉抛出 react-native Required module not found.奇怪的是,导入React时没有拾取此错误.

flowtype

17
推荐指数
1
解决办法
7935
查看次数

如何渲染多行文本组件,行之间有白色间隙

我试图在React Native中复制以下内容,这是一个文本组件,行间有白色间隙.

span {
  background: rgba(255, 235, 0);
  line-height: 1.5;
}
Run Code Online (Sandbox Code Playgroud)
<span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc at condimentum leo. Suspendisse potenti. Praesent ut lorem ac tortor auctor laoreet. Fusce egestas orci quis dui egestas, ac malesuada lacus feugiat. Etiam at augue vel nisl luctus dignissim. Sed iaculis nec metus vitae interdum. Vivamus tincidunt fermentum ligula, eu tincidunt orci sodales at. Ut tristique velit erat, sed malesuada sapien ornare sit amet. Nunc congue imperdiet sapien …
Run Code Online (Sandbox Code Playgroud)

css react-native

17
推荐指数
1
解决办法
1551
查看次数

找不到React/RCTEventEmitter.h文件

我正在尝试使用独立的Expo应用程序实现PushNotificationIOS.我正在运行SDK 21.0.0(React Native 0.48).

我正进入(状态 React/RCTEventEmitter file not found

我已完成以下步骤:

  • 打开我的.xcworkspace项目
  • 将其RCTPushNotification.xcodeproj拖入我的Libraries文件夹
  • 添加libRCTPushNotification.aApp > Build Phases > Link Binary With Libraries
  • $(SRCROOT)/../node_modules/react-native/Libraries在标题搜索路径下添加- 我也试过没有/../.我也在Header Search Paths列表中有一堆Pod.

然后我添加了以下内容AppDelegate.m,但当我点击文件(⌘+ click)时,我收到一个问号.

#import <React/RCTPushNotificationManager.h>
Run Code Online (Sandbox Code Playgroud)

如果我将其更改为下面,它可以工作,我可以点击

#import "RCTPushNotificationManager.h"
Run Code Online (Sandbox Code Playgroud)

但是,这是我的问题

当我清理并构建我的项目时,我得到以下错误RCTPushNotificationManager.h:

'React/RCTEventEmitter.h' file not found
Run Code Online (Sandbox Code Playgroud)

react-native

16
推荐指数
3
解决办法
1万
查看次数

android.view.WindowManager $ BadTokenException:无法添加窗口android.view.ViewRootImpl$W@c745883 - 权限被拒绝

这是我的堆栈跟踪:

01-30 15:11:41.037 13010-13010/project.app E/AndroidRuntime: FATAL EXCEPTION: main
 Process: project.app, PID: 13010
 android.view.WindowManager$BadTokenException:
   Unable to add window android.view.ViewRootImpl$W@c745883 -- permission denied for window type 2003
   at android.view.ViewRootImpl.setView(ViewRootImpl.java:789)
   at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:356)
   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:93)
   at android.app.Dialog.show(Dialog.java:330)
   at com.facebook.react.devsupport.DevSupportManagerImpl$4.run(DevSupportManagerImpl.java:344)
   at android.os.Handler.handleCallback(Handler.java:790)
   at android.os.Handler.dispatchMessage(Handler.java:99)
   at android.os.Looper.loop(Looper.java:164)
   at android.app.ActivityThread.main(ActivityThread.java:6494)
   at java.lang.reflect.Method.invoke(Native Method)
   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Run Code Online (Sandbox Code Playgroud)

我找到了关于TYPE_SYSTEM_ERROR在Android Oreo(8)中被弃用的答案,所以我实现了以下方法,我也找到了:

public void fixAndroid() {
    WindowManager.LayoutParams params;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
      params = new WindowManager.LayoutParams(
              WindowManager.LayoutParams.MATCH_PARENT,
              WindowManager.LayoutParams.MATCH_PARENT,
              WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY,
              WindowManager.LayoutParams.FLAG_FULLSCREEN,
              PixelFormat.TRANSLUCENT);
    } else {
      params = new …
Run Code Online (Sandbox Code Playgroud)

android android-manifest android-permissions react-native react-native-android

12
推荐指数
1
解决办法
2582
查看次数

如何通过 App Store 将数据传递到下载的应用程序?

我正在尝试为我的移动应用程序添加共享功能,该功能应适用于使用该应用程序和不使用该应用程序的用户。

当没有应用程序的用户单击通用链接时,我想将用户导航到应用程序商店并传递一些数据。当用户安装应用程序时,我希望他们提取数据。

这是进一步解释这一点的流程图:

在此输入图像描述

是否可以将数据从链接传递到 App Store,然后最终传递给用户。

流程的右侧工作完美。

ios

12
推荐指数
1
解决办法
3839
查看次数

不变违规:VirtualizedList包含一个本身包含多个VirtualizedList的单元格

完整的错误是:

FlatList

我的每一个keyExtractor组件都有一个List道具.react-native-elementsfrom FlatList组件中的每个项目都有一个关键道具.

任何人都可以解释这个问题的意义吗?

react-native react-native-flatlist

10
推荐指数
3
解决办法
3762
查看次数

Android 启动画面切换

我有一个呈现可绘制对象的 Android 启动画面。当它通过冷启动打开时,我发现我的资产只是向上移动。

你可以在下面找到合适的代码,所有不必要的代码都被省略了。

这是轻微的变化:

在此处输入图片说明

SplashActivity.java

public class SplashActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
        finish();
    }
}
Run Code Online (Sandbox Code Playgroud)

主活动.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    SplashScreen.show(this, R.style.SplashTheme);
    super.onCreate(savedInstanceState);
}
Run Code Online (Sandbox Code Playgroud)

res/drawable/background_splash.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:opacity="opaque">
    <item android:drawable="@color/splash_background_color"/>
    <item
        android:gravity="center"
        >
        <bitmap
            android:src="@drawable/x150"/>
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

res/layout/launch_screen.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/splash_background_color">
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:src="@drawable/background_splash"
        />
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

res/values/styles.xml

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> …
Run Code Online (Sandbox Code Playgroud)

android react-native

10
推荐指数
1
解决办法
1199
查看次数

使用babel-plugin-module-resolver和jest

我已经babel-plugin-module-resolver设置了我的项目,它运行正常,直到我运行我的测试.

我已经着手~/指出了./src.

我已经尝试添加以下内容package.json但它仍然无法正常工作

"jest": {
  "preset": "react-native",
  "moduleNameMapper": {
    "~": "./src"
  }
}
Run Code Online (Sandbox Code Playgroud)

jestjs react-native

8
推荐指数
1
解决办法
702
查看次数

向文本添加实心笔划

我正在尝试为 React Native 中的某些文本添加粗实线笔触。我添加了一个带有所需 CSS 的片段。

我尝试通过 styled-components 直接应用 CSS,但出现错误,指出无法解析我的值。

const Title = styled.Text`
  text-shadow: 2px 2px 0px  #000, -2px -2px 0px  #000, 2px -2px 0px  #000, -2px 2px 0px  #000;
`;
Run Code Online (Sandbox Code Playgroud)

我试过使用,textShadow但这不适用于实心笔画。这个道具依赖于宽度和高度道具的偏移量。

例如,这是一种小吃 - https://snack.expo.io/@hannigan/ba7574

h1 {
  text-shadow: 2px 2px 0px  #000, -2px -2px 0px  #000, 2px -2px 0px  #000, -2px 2px 0px  #000;
  color: white;
  font-family: 'Arial';
}
Run Code Online (Sandbox Code Playgroud)
<h1>Hello World</h1>
Run Code Online (Sandbox Code Playgroud)

react-native styled-components

8
推荐指数
2
解决办法
3193
查看次数