Pra*_*een 5 javascript eslint react-native react-navigation eslint-config-airbnb
我已将反应导航代码放入单独的 Routes 文件中,然后将其导入到 App.js 文件中。一切工作正常,但我在 Atom/Nuclide 中使用 Airbnb ESLint 配置,并收到了 TintColor 错误...
“道具验证中缺少tintColor”
尝试过这个:
Routes.propTypes = {tintColor: PropTypes.string.isRequired,}
但随后出现错误“tintColor PropType 已定义但 prop 从未使用”
这是代码的一部分
const Routes = () = {
const ContentNavigator = TabNavigator(
{
Profile: { screen: ProfileStack },
History: { screen: HistoryStack },
Questions: {
screen: QuestionsStack,
navigationOptions: {
tabBarIcon: ({ tintColor }) => (
<Icon name="question-circle" type="font-awesome" size={20} color=
{tintColor} />
),
},
},
Notifications: { screen: NotificationsStack },
},
{
initialRouteName: 'Profile',
swipeEnabled: true,
tabBarOptions: {
activeTintColor: COLOR_PRIMARY,
},
backBehavior: 'none',
});
Run Code Online (Sandbox Code Playgroud)
您可以创建一个附加的功能组件,PropTypes为其添加并在主组件中使用。例如:
...
import PropTypes from 'prop-types';
...
const QuestionsTabBarIcon = ({ tintColor }) => (
<Icon name="question-circle" type="font-awesome" size={20} color={tintColor} />
);
QuestionsTabBarIcon.propTypes = {
tintColor: PropTypes.string.isRequired,
};
...
const ContentNavigator = TabNavigator(
{
Profile: { screen: ProfileStack },
History: { screen: HistoryStack },
Questions: {
screen: QuestionsStack,
navigationOptions: {
tabBarIcon: QuestionsTabBarIcon
},
},
Notifications: { screen: NotificationsStack },
},
{
initialRouteName: 'Profile',
swipeEnabled: true,
tabBarOptions: {
activeTintColor: COLOR_PRIMARY,
},
backBehavior: 'none',
}
);
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1739 次 |
| 最近记录: |