FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Properly use this.setState in components · Issue #2822 · patternfly/patternfly-react · GitHub

Properly use this.setState in components #2822

Description

Currently in our code we use a callback for some events that looks like this:

onClick={() => this.setState({toggled: !this.state.toggled})}

We should use this to avoid some state edge cases:

onClick={() => this.setState(oldState => ({toggled: !oldState.toggled}))}

67 cases over 21 affected files:

packages/patternfly-3/patternfly-react-extensions/src/components/Select/StatefulWrapperSelect.js
packages/patternfly-3/patternfly-react/src/components/ApplicationLauncher/Wrappers/StatefulApplicationLauncherWrapper.js
packages/patternfly-3/patternfly-react/src/components/ClassificationBanner/ClassificationBanner.js
packages/patternfly-3/patternfly-react/src/components/DateTimePicker/TimeComponents/TimeInput.js
packages/patternfly-3/patternfly-react/src/components/InfoTip/InfoTip.jspackages/patternfly-3/patternfly-react/src/components/LoginPage/components/LoginCardComponents/LoginCardSocialColumns.js
packages/patternfly-3/patternfly-react/src/components/LoginPage/components/LoginCardComponents/LoginCardWithValidation.jspackages/patternfly-3/patternfly-react/src/components/LoginPage/components/LoginPageComponents/LoginPageAlert.js
packages/patternfly-3/patternfly-react/src/components/Masthead/__mocks__/mockHorizontalMasthead.jspackages/patternfly-3/patternfly-react/src/components/ModelessOverlay/__mocks__/mockModelessManager.jspackages/patternfly-3/patternfly-react/src/components/ToastNotification/ToastNotification.stories.js
packages/patternfly-3/patternfly-react/src/components/VerticalNav/__mocks__/mockWithMastHeadComponent.jspackages/patternfly-3/patternfly-react/src/components/VerticalNav/VerticalNav.jspackages/patternfly-4/react-core/src/components/Expandable/Expandable.tsx
packages/patternfly-4/react-core/src/components/LoginPage/examples/SimpleLoginPage.js
packages/patternfly-4/react-core/src/components/Page/Page.tsxpackages/patternfly-4/react-core/src/components/Wizard/Wizard.tsx
packages/patternfly-4/react-core/src/demos/PageLayout/examples/PageLayoutDefaultNav.jspackages/patternfly-4/react-core/src/demos/PageLayout/examples/PageLayoutExpandableNav.jspackages/patternfly-4/react-core/src/demos/PageLayout/examples/PageLayoutGroupsNav.jspackages/patternfly-4/react-core/src/demos/PageLayout/examples/PageLayoutHorizontalNav.jspackages/patternfly-4/react-core/src/demos/PageLayout/examples/PageLayoutManualNav.jspackages/patternfly-4/react-core/src/demos/PageLayout/examples/PageLayoutSimpleNav.jspackages/patternfly-4/react-docs/src/components/componentDocs/liveEdit.js/home/redallen/src/patternfly-react/
packages/patternfly-4/react-integration/demo-app-ts/src/components/demos/ApplicationLauncherDemo/ApplicationLauncherDemo.tsx
packages/patternfly-4/react-integration/demo-app-ts/src/components/demos/ContextSelectorDemo/ContextSelectorDemo.tsx
packages/patternfly-4/react-integration/demo-app-ts/src/components/demos/DrawerDemo/DrawerDemo.tsx
packages/patternfly-4/react-integration/demo-app-ts/src/components/demos/DropdownDemo/DropdownDemo.tsx
packages/patternfly-4/react-integration/demo-app-ts/src/components/demos/ExpandableDemo/ExpandableDemo.tsx
packages/patternfly-4/react-integration/demo-app-ts/src/components/demos/LoginPageDemo/LoginPageDemo.tsx
packages/patternfly-4/react-integration/demo-app-ts/src/components/demos/OptionsMenuDemo/OptionsMenuDemo.tsx
packages/patternfly-4/react-integration/demo-app-ts/src/components/demos/PageDemo/PageDemo.tsx
packages/patternfly-4/react-table/src/components/Table/ActionsColumn.tsx
packages/patternfly-4/react-virtualized-extension/src/components/Virtualized/VirtualGrid.ts

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions


Back | FazBrowse Home | New Git URL