From dca06a22d1ff85b3997edf85a9a6128ecc2b8f91 Mon Sep 17 00:00:00 2001 From: Jonathan Zernik Date: Sat, 4 Sep 2021 12:11:46 -0700 Subject: [PATCH] Fix use effect warning (#1181) * Fix useeffect warnings for peer address page * Fix more useeffect warnings * Fix more warnings * Fix more warnings * Run frontend lint * Fix useeffect warning on timeline page * Fix useless concat * Add re-download offers button to buy dialog * Rename components in buy dialog * Fix useeffect warnings in squeak page * Remove unused components in squeak page * Fix duplicate prop warning in create contact dialog * Run frontend lint --- .../BuySqueakDialog/BuySqueakDialog.js | 46 ++++++++-------- .../CloseChannelDialog/CloseChannelDialog.js | 25 +-------- .../CreateContactProfileDialog.js | 1 - .../ReceivedPayment/ReceivedPayment.js | 1 - .../SqueakProfileFollowingIndicator.js | 1 - frontend/src/pages/channel/Channel.js | 6 +-- .../src/pages/lightningnode/LightningNode.js | 6 +-- frontend/src/pages/liked/Liked.js | 9 ++-- frontend/src/pages/peeraddress/PeerAddress.js | 22 ++++---- frontend/src/pages/profile/Profile.js | 9 ++-- frontend/src/pages/profiles/Profiles.js | 9 ++-- frontend/src/pages/squeak/Squeak.js | 53 +++++-------------- .../src/pages/squeakaddress/SqueakAddress.js | 27 ++-------- frontend/src/pages/timeline/Timeline.js | 15 +++--- frontend/src/squeakclient/requests.js | 4 +- 15 files changed, 87 insertions(+), 147 deletions(-) diff --git a/frontend/src/components/BuySqueakDialog/BuySqueakDialog.js b/frontend/src/components/BuySqueakDialog/BuySqueakDialog.js index 1d423dcd..611b6be2 100644 --- a/frontend/src/components/BuySqueakDialog/BuySqueakDialog.js +++ b/frontend/src/components/BuySqueakDialog/BuySqueakDialog.js @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from 'react'; +import React, { useState, useEffect, useCallback } from 'react'; import { MenuItem, Typography, @@ -52,12 +52,14 @@ export default function BuySqueakDialog({ // pay(offer.getOfferId()); // }; - const loadOffers = () => { + const loadOffers = useCallback(() => { getBuyOffersRequest(hash, setOffers); - }; - const subscribeOffers = () => subscribeBuyOffersRequest(hash, (offer) => { + }, + [hash, setOffers]); + const subscribeOffers = useCallback(() => subscribeBuyOffersRequest(hash, (offer) => { setOffers((prevOffers) => prevOffers.concat([offer])); - }); + }), + [hash, setOffers]); const downloadOffers = () => { console.log(`downloadOffersRequest with hash: ${hash}`); downloadOffersRequest(hash, (response) => { @@ -92,7 +94,7 @@ export default function BuySqueakDialog({ const getSelectedOffer = () => { let offer; for (offer of offers) { - if (offer.getOfferId() == selectedOfferId) { + if (offer.getOfferId() === selectedOfferId) { return offer; } } @@ -101,22 +103,21 @@ export default function BuySqueakDialog({ const getPeerAddressText = (offer) => { const peerAddress = offer.getPeerAddress(); - const host = peerAddress.getHost(); return `${peerAddress.getHost()}:${peerAddress.getPort()}`; }; useEffect(() => { loadOffers(); - }, []); + }, [loadOffers]); useEffect(() => { const stream = subscribeOffers(); return () => stream.cancel(); - }, [hash]); + }, [subscribeOffers, hash]); function handleSubmit(event) { event.preventDefault(); console.log('selectedOfferId:', selectedOfferId); - if (selectedOfferId == '') { + if (selectedOfferId === '') { alert('Offer must be selected.'); return; } @@ -139,7 +140,7 @@ export default function BuySqueakDialog({ event.stopPropagation(); } - function MakeSelectSigningProfile() { + function SelectOfferContent() { return ( Offer @@ -175,7 +176,7 @@ export default function BuySqueakDialog({ ); } - function MakeSqueakContentInput() { + function SelectedOfferContentInput() { const selectedOffer = getSelectedOffer(); if (selectedOffer == null) { return <>; @@ -191,7 +192,7 @@ export default function BuySqueakDialog({ ); } - function MakeCancelButton() { + function CancelBuyButton() { return (