{"action":"opened","issue":{"url":"https://api.github.com/repos/yannickcr/eslint-plugin-react/issues/2107","repository_url":"https://api.github.com/repos/yannickcr/eslint-plugin-react","labels_url":"https://api.github.com/repos/yannickcr/eslint-plugin-react/issues/2107/labels{/name}","comments_url":"https://api.github.com/repos/yannickcr/eslint-plugin-react/issues/2107/comments","events_url":"https://api.github.com/repos/yannickcr/eslint-plugin-react/issues/2107/events","html_url":"https://github.com/yannickcr/eslint-plugin-react/issues/2107","id":395266974,"node_id":"MDU6SXNzdWUzOTUyNjY5NzQ=","number":2107,"title":"react/prop-types and componentDidMount","user":{"login":"brandonburkett","id":1877193,"node_id":"MDQ6VXNlcjE4NzcxOTM=","avatar_url":"https://avatars3.githubusercontent.com/u/1877193?v=4","gravatar_id":"","url":"https://api.github.com/users/brandonburkett","html_url":"https://github.com/brandonburkett","followers_url":"https://api.github.com/users/brandonburkett/followers","following_url":"https://api.github.com/users/brandonburkett/following{/other_user}","gists_url":"https://api.github.com/users/brandonburkett/gists{/gist_id}","starred_url":"https://api.github.com/users/brandonburkett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brandonburkett/subscriptions","organizations_url":"https://api.github.com/users/brandonburkett/orgs","repos_url":"https://api.github.com/users/brandonburkett/repos","events_url":"https://api.github.com/users/brandonburkett/events{/privacy}","received_events_url":"https://api.github.com/users/brandonburkett/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-01-02T14:36:23Z","updated_at":"2019-01-02T14:36:23Z","closed_at":null,"author_association":"NONE","body":"This is a weird one... but I recently did npm outdated and npm update.  I did not experience this issue before the update.  I am using:\r\n```\r\n    \"eslint\": \"^5.11.1\",\r\n    \"eslint-config-airbnb\": \"^17.1.0\",\r\n    \"eslint-config-prettier\": \"^3.3.0\",\r\n    \"eslint-plugin-import\": \"^2.14.0\",\r\n    \"eslint-plugin-jsx-a11y\": \"^6.1.2\",\r\n    \"eslint-plugin-prettier\": \"^3.0.01\",\r\n    \"eslint-plugin-react\": \"^7.12.0\",\r\n```\r\n\r\n-----\r\n\r\n**ISSUE**\r\nI only have this issue in `componentDidUpdate`, all other lifecycle methods and class methods are fine, but eslint seems to think nearly everything is a prop in `componentDidUpdate`.\r\n\r\n```\r\n  componentDidUpdate(prevProps) {\r\n    const { formLoading, pageError, orgGroup, organization } = this.props; // no issue here\r\n    const { edit } = this.state; // eslint error\r\n\r\n    // focus the form loading component\r\n    if (formLoading && this.formLoadingRef && this.formLoadingRef.current) {\r\n      this.formLoadingRef.current.messageRef.focus(); // eslint error\r\n    }\r\n\r\n   /* other code */\r\n}\r\n```\r\n\r\nI get the following output, but none of these are props.  They are state and refs.\r\n```\r\n124:13  error  'state.edit' is missing in props validation                react/prop-types\r\n124:13  error  'state.edit' is missing in props validation                react/prop-types\r\n132:67  error  'current' is missing in props validation                   react/prop-types\r\n133:27  error  'current' is missing in props validation                   react/prop-types\r\n133:35  error  'messageRef' is missing in props validation                react/prop-types\r\n133:35  error  'current.messageRef' is missing in props validation        react/prop-types\r\n133:46  error  'focus' is missing in props validation                     react/prop-types\r\n133:46  error  'messageRef.focus' is missing in props validation          react/prop-types\r\n133:46  error  'current.messageRef.focus' is missing in props validation  react/prop-types\r\n```\r\n\r\n-----\r\n\r\nLet me know if I can provide any additional information.\r\n\r\nThanks\r\nBrandon"}}
{"actor":{"display_login":"brandonburkett"}}