From 2b8dae312433f22b35826c85ef2f1969049d193a Mon Sep 17 00:00:00 2001 From: Dan Ott Date: Fri, 24 May 2019 16:31:27 -0400 Subject: [PATCH 01/12] Hooks for SelectUsers --- src/SelectUsers.js | 101 ++++++++++++++++++++++----------------------- 1 file changed, 49 insertions(+), 52 deletions(-) diff --git a/src/SelectUsers.js b/src/SelectUsers.js index 9eb103c..a8619a3 100644 --- a/src/SelectUsers.js +++ b/src/SelectUsers.js @@ -1,61 +1,58 @@ -import React from 'react'; +import React, { useState, useEffect } from 'react'; import { Select } from 'evergreen-ui'; -export default class SelectUsers extends React.Component { - constructor(props) { - super(props); +const SelectUsers = ({ isLoading, userId, onChange, users }) => { + // const x = useMemo(()=> {return something}, []) + const [calculatedUsers, setCalculatedUsers] = useState([]); - this.state = { - calculatedUsers: [], + useEffect(() => { + const expensiveCalculationOnUsers = () => { + if (users) { + console.log('OMG this takes forever'); + return users; + } + return []; }; - } - expensiveCalculationOnUsers() { - if (this.props.users) { - console.log('OMG this takes forever'); - return this.props.users; - } - return []; - } + setCalculatedUsers(expensiveCalculationOnUsers()); + }, [users]); - componentDidMount() { - this.setState({ - calculatedUsers: this.expensiveCalculationOnUsers(), - }); - } + // componentDidMount() { + // this.setState({ + // calculatedUsers: this.expensiveCalculationOnUsers(), + // }); + // } - componentDidUpdate(prevProps) { - if (prevProps.users !== this.props.users) { - this.setState({ - calculatedUsers: this.expensiveCalculationOnUsers(), - }); - } - } + // componentDidUpdate(prevProps) { + // if (prevProps.users !== this.props.users) { + // this.setState({ + // calculatedUsers: this.expensiveCalculationOnUsers(), + // }); + // } + // } - render() { - const { isLoading, userId, onChange } = this.props; + return ( + + ); +}; - return ( - - ); - } -} +export default SelectUsers; From f08a157cde1e87f9fe1c38bb036c0e19860390da Mon Sep 17 00:00:00 2001 From: Dan Ott Date: Fri, 24 May 2019 16:32:02 -0400 Subject: [PATCH 02/12] remove comments --- src/SelectUsers.js | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/SelectUsers.js b/src/SelectUsers.js index a8619a3..a7cef84 100644 --- a/src/SelectUsers.js +++ b/src/SelectUsers.js @@ -17,20 +17,6 @@ const SelectUsers = ({ isLoading, userId, onChange, users }) => { setCalculatedUsers(expensiveCalculationOnUsers()); }, [users]); - // componentDidMount() { - // this.setState({ - // calculatedUsers: this.expensiveCalculationOnUsers(), - // }); - // } - - // componentDidUpdate(prevProps) { - // if (prevProps.users !== this.props.users) { - // this.setState({ - // calculatedUsers: this.expensiveCalculationOnUsers(), - // }); - // } - // } - return ( onChange(e.currentTarget.name, e.currentTarget.value)} + value={userId} + name="userId" + id="userId" + > + {isLoading || !calculatedUsers.length ? ( + + ) : ( + <> + + {calculatedUsers.map(user => ( + + ))} + + )} + + ); +}; - return ( - - ); - } -} +export default SelectUsers; From a84b67ad66fb99d5edf3e93dcf4a0d24ba4f2ecb Mon Sep 17 00:00:00 2001 From: Dan Ott Date: Fri, 24 May 2019 16:32:02 -0400 Subject: [PATCH 12/12] remove comments --- src/SelectUsers.js | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/SelectUsers.js b/src/SelectUsers.js index a8619a3..a7cef84 100644 --- a/src/SelectUsers.js +++ b/src/SelectUsers.js @@ -17,20 +17,6 @@ const SelectUsers = ({ isLoading, userId, onChange, users }) => { setCalculatedUsers(expensiveCalculationOnUsers()); }, [users]); - // componentDidMount() { - // this.setState({ - // calculatedUsers: this.expensiveCalculationOnUsers(), - // }); - // } - - // componentDidUpdate(prevProps) { - // if (prevProps.users !== this.props.users) { - // this.setState({ - // calculatedUsers: this.expensiveCalculationOnUsers(), - // }); - // } - // } - return (