使用新的React Native App安装Flow

时间:2018-05-06 17:42:11

标签: javascript react-native flowtype

我正在尝试使用Flow with React Native应用程序,但我总是得到一个错误,即node_module未正确配置Flow。

.flowconfig中的终极版我添加了一行来忽略node_module导演下的所有内容,但这给我一个错误,它无法找到'反应原生'

>     Spawned flow server (pid=70665)
>     Logs will go to /private/tmp/flow/zSUserszSaxxxzSWorkspacezSprojectzSAwesomeProject.log
>     Monitor logs will go to /private/tmp/flow/zSUserszSaxxxzSWorkspacezSprojectzSAwesomeProject.monitor_log
>     Error ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
> App.js:3:40
>     
>     Cannot resolve module react-native.
>     
>          1│ /* @flow */
>          2│ import React from 'react';
>          3│ import { StyleSheet, Text, View } from 'react-native';
>          4│
>          5│ export default class App extends React.Component {
>          6│   render() {
> 
> Error
> ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
> App.js:5:34
> 
> Cannot use property Component [1] with less than 1 type argument.
> 
>      App.js
>       2│ import React from 'react';
>       3│ import { StyleSheet, Text, View } from 'react-native';
>       4│
>       5│ export default class App extends React.Component {
>       6│   render() {

在新的RN应用程序中安装Flow的正确方法是什么

  

create-react-native-app AwesomeProject

     

cd AwesomeProject
  npm start

2 个答案:

答案 0 :(得分:0)

有麻烦...... 当你将node_modules标记为流被忽略时,你会阻止libs的流程细化...我想可以调和node_modules中的一些错误并希望它将由libs所有者修复= )

答案 1 :(得分:0)

有几个步骤......

  1. 使用flow-typed repo为node_modules包安装Flow库定义(“libdefs”)
  2. .flowconfig中,忽略一些更多本地响应包。我使用Expo,所以你可能不需要所有这些:
  3. 像...一样的东西。

    [ignore]    
          <PROJECT_ROOT>/node_modules/editions
          <PROJECT_ROOT>/node_modules/npm
          <PROJECT_ROOT>/vendor/bundle
    
          ; Ignore various node_modules for react-native
          <PROJECT_ROOT>/frontend/native/node_modules/react-native-gesture-handler/.*
          <PROJECT_ROOT>/frontend/native/node_modules/react-native/.*
          <PROJECT_ROOT>/frontend/native/node_modules/expo/.*
          <PROJECT_ROOT>/frontend/native/node_modules/react-navigation/.*
          <PROJECT_ROOT>/frontend/native/node_modules/xdl/.*
          <PROJECT_ROOT>/frontend/native/node_modules/reqwest/.*
          <PROJECT_ROOT>/frontend/native/node_modules/metro-bundler/.*
          <PROJECT_ROOT>/frontend/native/node_modules/metro/.*
    

    有一些反应原生流类型的社区定义像this one一样浮动,但我发现它比它的价值更多,只有any所有组件like this。缺少类型定义并没有伤害到我。