如何在反应控制台中删除反应道具类型警告

时间:2018-01-29 10:47:39

标签: reactjs react-native

我正在使用开发模式,我需要我的控制台足够清晰。如何在组件中删除反应道具类型警告?我在我的堆栈中使用react-native-web,可能会导致这些警告。

7 个答案:

答案 0 :(得分:1)

  

console.disableYellowBox = true;

这将解决问题。

有关详细信息https://codedaily.io/tutorials/5/Disable-the-Yellow-Box-in-React-Native

答案 1 :(得分:1)

首先,您需要安装npm i prop-types --save

然后使用import PropTypes from 'prop-types;

然后<ComponentName>.propTypes={ Prop1: PropTypes.* Prop2: PropTypes.* }

其中* =

  

数组,bool,func,数字,对象,字符串,符号

答案 2 :(得分:0)

您可以尝试导入这样的道具类型。

import PropTypes from 'prop-types';

答案 3 :(得分:0)

分享有关导致警告的确切道具类型的更多信息。我的猜测是你传递了错误的道具类型,比如你正在将string传递给number。纠正这一点,警告就会消失。

答案 4 :(得分:0)

您可以使用一个简单的工具来使用react-codemod和jscodeshift转换旧代码React样式,首先从这里下载

安装jscodeshift

npm install -g jscodeshift

下载

https://github.com/reactjs/react-codemod

并将其放在应用程序node_modules

然后使用以下命令转换任何路径中的prop类型,这应该适用于组件的文件夹

jscodeshift -t {PATH_YOUR_MAIN_APP}/node_modules/react-codemod/transforms/React-PropTypes-to-prop-types.js {PATH_FOR_COMPONENT_YOU_WANT_TO_CONVERT}

对于预付款和主要更改,您可以使用其他选项,例如以下

jscodeshift -t {PATH_YOUR_MAIN_APP}/node_modules/react-codemod/transforms/class.js --mixin-module-name=react-addons-pure-render-mixin --flow=true --pure-component=true --remove-runtime-proptypes=false {PATH_FOR_COMPONENT_YOU_WANT_TO_CONVERT} 

答案 5 :(得分:0)

<强> import PropTypes from "prop-types";

class Profile extends Component {
...

static propTypes = {
    networkInfo: PropTypes.object.isRequired,
    list: PropTypes.array.isRequired,
    id : PropTypes.number.isRequired
  };

警告可以删除

可以处理数据类型:array , bool, func, number, object, string, symbol, any

参考:Typechecking With PropTypes

安装PropType

npm i prop-types --save

答案 6 :(得分:0)

我发现最简单的解决方案是进入您的网络浏览器控制台并右键单击 react 控制台警告,您应该会看到诸如 hide messages from 0.chunk.js 之类的内容,按下它,您应该不会再收到该垃圾邮件。

要取回消息,只需清除控制台窗口顶部的过滤器即可。