NostrProvider: memoize the signer

environments/review-main-yi2y9f/deployments/4465^2
Alex Gleason 2024-03-21 18:13:33 -05:00
rodzic 460e22ce2b
commit 56d0779a43
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 7211D1F99744FBB7
1 zmienionych plików z 5 dodań i 2 usunięć

Wyświetl plik

@ -1,5 +1,5 @@
import { NRelay, NRelay1, NostrSigner } from '@soapbox/nspec';
import React, { createContext, useContext, useState, useEffect } from 'react';
import React, { createContext, useContext, useState, useEffect, useMemo } from 'react';
import { NKeys } from 'soapbox/features/nostr/keys';
import { useOwnAccount } from 'soapbox/hooks';
@ -27,7 +27,10 @@ export const NostrProvider: React.FC<NostrProviderProps> = ({ children }) => {
const pubkey = instance.nostr?.pubkey;
const accountPubkey = account?.nostr.pubkey;
const signer = (accountPubkey ? NKeys.get(accountPubkey) : undefined) ?? window.nostr;
const signer = useMemo(
() => (accountPubkey ? NKeys.get(accountPubkey) : undefined) ?? window.nostr,
[accountPubkey],
);
useEffect(() => {
if (url) {