我正在使用开发模式,我需要我的控制台足够清晰。如何在组件中删除反应道具类型警告?我在我的堆栈中使用react-native-web,可能会导致这些警告。
答案 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
npm i prop-types --save
答案 6 :(得分:0)
我发现最简单的解决方案是进入您的网络浏览器控制台并右键单击 react 控制台警告,您应该会看到诸如 hide messages from 0.chunk.js
之类的内容,按下它,您应该不会再收到该垃圾邮件。
要取回消息,只需清除控制台窗口顶部的过滤器即可。