diff --git a/.eslintrc b/.eslintrc index 4bf98c89..8c1132ed 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,10 +1,12 @@ { "parser": "babel-eslint", "plugins": [ - "react", "prettier" + "react", "prettier", "react-hooks" ], "extends": ["standard", "standard-react", "prettier"], "rules": { + "react-hooks/rules-of-hooks": "error", + "react-hooks/exhaustive-deps": "error", 'prettier/prettier': [ 'warn', { diff --git a/BlueComponents.js b/BlueComponents.js index 4a3565d9..69d554a8 100644 --- a/BlueComponents.js +++ b/BlueComponents.js @@ -1429,13 +1429,10 @@ export class NewWalletPanel extends Component { export const BlueTransactionListItem = ({ item, itemPriceUnit = BitcoinUnit.BTC, shouldRefresh }) => { const [transactionTimeToReadable, setTransactionTimeToReadable] = useState('...'); const [subtitleNumberOfLines, setSubtitleNumberOfLines] = useState(1); - const calculateTimeLabel = () => { - const transactionTimeToReadable = loc.transactionTimeToReadable(item.received); - return setTransactionTimeToReadable(transactionTimeToReadable); - }; useEffect(() => { - calculateTimeLabel(); + const transactionTimeToReadable = loc.transactionTimeToReadable(item.received); + return setTransactionTimeToReadable(transactionTimeToReadable); }, [item, itemPriceUnit, shouldRefresh]); const txMemo = () => { diff --git a/screen/settings/about.js b/screen/settings/about.js index 33836f03..51dcfbe5 100644 --- a/screen/settings/about.js +++ b/screen/settings/about.js @@ -23,7 +23,7 @@ const About = () => { useEffect(() => { setIsLoading(false); - }); + }, []); const handleOnReleaseNotesPress = () => { navigate('ReleaseNotes'); diff --git a/screen/settings/releasenotes.js b/screen/settings/releasenotes.js index b854c0a9..fa515a29 100644 --- a/screen/settings/releasenotes.js +++ b/screen/settings/releasenotes.js @@ -9,7 +9,7 @@ const ReleaseNotes = () => { useEffect(() => { setIsLoading(false); - }); + }, []); return isLoading ? ( () diff --git a/screen/wallets/selectWallet.js b/screen/wallets/selectWallet.js index bd29bd03..9998a86d 100644 --- a/screen/wallets/selectWallet.js +++ b/screen/wallets/selectWallet.js @@ -21,7 +21,7 @@ const SelectWallet = () => { useEffect(() => { setIsLoading(false); - }); + }, []); const renderItem = ({ item }) => { return (