0

我正在开发一个我仍然熟悉的 React-Redux 微服务应用程序,在克隆它并在 localhost 环境中启动它后,我在控制台中看到了这个错误:

Warning: Failed prop type: Invalid prop `preferences[19].category` of value `MemberBenefitInterests` supplied to `SettingsPage`, expected one of ["None","CommunicationPreferences","MemberPrivacy","GetInvolved","TopicsOfConcern"].

项目MemberBenefitInterests中的代码库中没有引用,但是当我检查 React Web DevTools 它在实体- >首选项- > 它有一个对象数组时,这个属性确实存在于状态中:

{ "category": "CommunicationPreferences" }, { "category": "MemberPrivacy" }, { "category": "GetInvolved" }, { "category": "MemberBenefitsInterests" }

所有内部偏好。我不清楚,但似乎消息说最后一个无效,但为什么呢?

我以为我在项目中彻底搜索了一个SettingsPage并没有找到,但是当我再次尝试时,我在里面找到了这个App/account/components/BaseSettingsPage

class SettingsPage extends React.Component {
  static propTypes = {
    isLoading: PropTypes.bool,
    currentUser: PropTypes.shape({
      id: PropTypes.string,
    }),
    pageColor: PropTypes.shape({
      name: PropTypes.string,
      value: PropTypes.string,
    }),
    headerText: PropTypes.string,
    renderSaveButton: PropTypes.func,
    handleSaveResults: PropTypes.func,
    category: PropTypes.oneOf([
      'None',
      'CommunicationPreferences',
      'MemberPrivacy',
      'GetInvolved',
      'TopicsOfConcern',
    ]),
4

1 回答 1

0

我认为您需要调整 PropTypes 声明categorySettingsPage包括MemberBenefitInterests

    category: PropTypes.oneOf([
      'None',
      'CommunicationPreferences',
      'MemberPrivacy',
      'GetInvolved',
      'TopicsOfConcern',
      'MemberBenefitInterests',
    ]),
于 2019-07-06T20:29:51.593 回答