我在我的反应原生项目中使用eslint airbnb。如果我没有验证道具,特别是来自react-navigation
的道具,那么就会发现错误掉线错误。
我试图像这样验证它:
IntroScreen.propTypes = {
navigation: PropTypes.shape({
navigate: PropTypes.func,
}),
};
我如何传递默认道具,我应该吗?
答案 0 :(得分:15)
我正在通过设置导航和导航道具来修复它。
IntroScreen.propTypes = {
navigation: PropTypes.shape({
navigate: PropTypes.func.isRequired,
}).isRequired,
};
如果我们将道具设置为可选的,eslint强制我们提供要设置的默认道具。因此,如果我们将道具设置为必需,则夹板不会再次警告您。
答案 1 :(得分:15)
除了answer by Dede之外,您的项目可能会在(基本上)所有组件中添加导航。为导航添加道具验证是一项不必要的任务,然后您可能会为特定道具沉默。
您可以通过在eslint配置中添加以下内容来完成此操作:
"rules": {
"react/prop-types": ["error", { "ignore": ["navigation"] }]
}
请注意,在使用之前,您需要确保导航实际上已添加到您的组件中。