From a6ad1990235ac24cb5b8e2c6b9da4e278d579a26 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Thu, 14 Dec 2017 10:58:05 +0000 Subject: [PATCH] Make all of the React.Components Pure. --- src/AddressBook.tsx | 2 +- src/App.tsx | 2 +- src/Calendar.tsx | 2 +- src/Contact.tsx | 2 +- src/ContactEdit.tsx | 2 +- src/DateTimePicker.tsx | 2 +- src/Event.tsx | 2 +- src/EventEdit.tsx | 2 +- src/Journal.tsx | 2 +- src/JournalAddressBook.tsx | 2 +- src/JournalCalendar.tsx | 2 +- src/JournalEntries.tsx | 2 +- src/LoginForm.tsx | 2 +- src/Pim.tsx | 2 +- src/PimMain.tsx | 2 +- src/Root.tsx | 2 +- src/SideMenu.tsx | 2 +- src/SideMenuJournals.tsx | 2 +- src/SyncGate.tsx | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/AddressBook.tsx b/src/AddressBook.tsx index fe42ce5..0e6cd74 100644 --- a/src/AddressBook.tsx +++ b/src/AddressBook.tsx @@ -6,7 +6,7 @@ import * as colors from 'material-ui/styles/colors'; import { ContactType } from './pim-types'; -class AddressBook extends React.Component { +class AddressBook extends React.PureComponent { props: { entries: Array, onItemClick: (contact: ContactType) => void, diff --git a/src/App.tsx b/src/App.tsx index fb2527d..2c7e630 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -73,7 +73,7 @@ export const routeResolver = new RouteResolver({ }, }); -class App extends React.Component { +class App extends React.PureComponent { state: { drawerOpen: boolean, }; diff --git a/src/Calendar.tsx b/src/Calendar.tsx index c8caade..3cebf97 100644 --- a/src/Calendar.tsx +++ b/src/Calendar.tsx @@ -9,7 +9,7 @@ import { EventType } from './pim-types'; moment.locale('en-gb'); BigCalendar.momentLocalizer(moment); -class Calendar extends React.Component { +class Calendar extends React.PureComponent { state: { currentDate?: Date; }; diff --git a/src/Contact.tsx b/src/Contact.tsx index 40275ef..d5de77b 100644 --- a/src/Contact.tsx +++ b/src/Contact.tsx @@ -14,7 +14,7 @@ import PimItemHeader from './PimItemHeader'; import { ContactType } from './pim-types'; -class Contact extends React.Component { +class Contact extends React.PureComponent { props: { contact?: ContactType, }; diff --git a/src/ContactEdit.tsx b/src/ContactEdit.tsx index 25f1e40..c5f36c8 100644 --- a/src/ContactEdit.tsx +++ b/src/ContactEdit.tsx @@ -102,7 +102,7 @@ const ValueTypeComponent = (props: ValueTypeComponentProps) => { ); }; -class ContactEdit extends React.Component { +class ContactEdit extends React.PureComponent { state: { uid: string, fn: string; diff --git a/src/DateTimePicker.tsx b/src/DateTimePicker.tsx index 92ad4a2..dc7dbaf 100644 --- a/src/DateTimePicker.tsx +++ b/src/DateTimePicker.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -class DateTimePicker extends React.Component { +class DateTimePicker extends React.PureComponent { state: { date: string, time: string, diff --git a/src/Event.tsx b/src/Event.tsx index 275aab8..bb3ac64 100644 --- a/src/Event.tsx +++ b/src/Event.tsx @@ -35,7 +35,7 @@ function formatDateRange(start: ICAL.Time, end: ICAL.Time) { return strStart + ' - ' + strEnd; } -class Event extends React.Component { +class Event extends React.PureComponent { props: { event?: EventType, }; diff --git a/src/EventEdit.tsx b/src/EventEdit.tsx index 43d9e33..06a8882 100644 --- a/src/EventEdit.tsx +++ b/src/EventEdit.tsx @@ -14,7 +14,7 @@ import * as EteSync from './api/EteSync'; import { EventType } from './pim-types'; -class EventEdit extends React.Component { +class EventEdit extends React.PureComponent { state: { uid: string, title: string; diff --git a/src/Journal.tsx b/src/Journal.tsx index da434b2..49bbbcd 100644 --- a/src/Journal.tsx +++ b/src/Journal.tsx @@ -26,7 +26,7 @@ interface PropsType { interface PropsTypeInner extends PropsType { } -class Journal extends React.Component { +class Journal extends React.PureComponent { static defaultProps = { prevUid: null, }; diff --git a/src/JournalAddressBook.tsx b/src/JournalAddressBook.tsx index 583d511..04f6e9c 100644 --- a/src/JournalAddressBook.tsx +++ b/src/JournalAddressBook.tsx @@ -14,7 +14,7 @@ function objValues(obj: any) { return Object.keys(obj).map((x) => obj[x]); } -class JournalAddressBook extends React.Component { +class JournalAddressBook extends React.PureComponent { props: { journal: EteSync.Journal, entries: {[key: string]: ContactType}, diff --git a/src/JournalCalendar.tsx b/src/JournalCalendar.tsx index 2569a98..c0a9850 100644 --- a/src/JournalCalendar.tsx +++ b/src/JournalCalendar.tsx @@ -16,7 +16,7 @@ function objValues(obj: any) { return Object.keys(obj).map((x) => obj[x]); } -class JournalCalendar extends React.Component { +class JournalCalendar extends React.PureComponent { props: { journal: EteSync.Journal, entries: {[key: string]: EventType}, diff --git a/src/JournalEntries.tsx b/src/JournalEntries.tsx index 5170bfd..1c6f4f7 100644 --- a/src/JournalEntries.tsx +++ b/src/JournalEntries.tsx @@ -14,7 +14,7 @@ import { EventType, ContactType } from './pim-types'; import * as EteSync from './api/EteSync'; -class JournalEntries extends React.Component { +class JournalEntries extends React.PureComponent { static defaultProps = { prevUid: null, }; diff --git a/src/LoginForm.tsx b/src/LoginForm.tsx index 9cf310a..551247d 100644 --- a/src/LoginForm.tsx +++ b/src/LoginForm.tsx @@ -15,7 +15,7 @@ interface FormErrors { errorServer?: string; } -class LoginForm extends React.Component { +class LoginForm extends React.PureComponent { state: { showAdvanced?: boolean; errors: FormErrors; diff --git a/src/Pim.tsx b/src/Pim.tsx index 83d1b2c..dbca79d 100644 --- a/src/Pim.tsx +++ b/src/Pim.tsx @@ -27,7 +27,7 @@ function objValues(obj: any) { return Object.keys(obj).map((x) => obj[x]); } -class Pim extends React.Component { +class Pim extends React.PureComponent { props: { etesync: CredentialsData; journals: JournalsData; diff --git a/src/PimMain.tsx b/src/PimMain.tsx index 7492299..169bb5e 100644 --- a/src/PimMain.tsx +++ b/src/PimMain.tsx @@ -19,7 +19,7 @@ import { historyPersistor } from './persist-state-history'; const addressBookTitle = 'Address Book'; const calendarTitle = 'Calendar'; -class PimMain extends React.Component { +class PimMain extends React.PureComponent { props: { contacts: Array, events: Array, diff --git a/src/Root.tsx b/src/Root.tsx index 7f9dd3b..3040be4 100644 --- a/src/Root.tsx +++ b/src/Root.tsx @@ -10,7 +10,7 @@ import { store, StoreState, CredentialsType, fetchCredentials } from './store'; import * as C from './Constants'; -class Root extends React.Component { +class Root extends React.PureComponent { props: { credentials: CredentialsType; }; diff --git a/src/SideMenu.tsx b/src/SideMenu.tsx index e178c95..a248301 100644 --- a/src/SideMenu.tsx +++ b/src/SideMenu.tsx @@ -30,7 +30,7 @@ interface PropsTypeInner extends PropsType { history: any; } -class SideMenu extends React.Component { +class SideMenu extends React.PureComponent { props: PropsTypeInner; constructor(props: any) { diff --git a/src/SideMenuJournals.tsx b/src/SideMenuJournals.tsx index 0453961..6590234 100644 --- a/src/SideMenuJournals.tsx +++ b/src/SideMenuJournals.tsx @@ -6,7 +6,7 @@ import * as EteSync from './api/EteSync'; import { JournalsData, CredentialsData } from './store'; -class SideMenuJournals extends React.Component { +class SideMenuJournals extends React.PureComponent { props: { etesync: CredentialsData; journals: JournalsData; diff --git a/src/SyncGate.tsx b/src/SyncGate.tsx index ea2eb39..6bf6e84 100644 --- a/src/SyncGate.tsx +++ b/src/SyncGate.tsx @@ -20,7 +20,7 @@ interface PropsTypeInner extends PropsType { entries: EntriesType; } -class SyncGate extends React.Component { +class SyncGate extends React.PureComponent { props: PropsTypeInner; constructor(props: any) {