0

フックを使用して次の関数を作成し、次のようuseCallbackにに渡してinputいます。

const inputChangeFunc = useCallback(
    () => (event, data) =>
        updateUserEmail(event.target.value.trim(), itemId),
    [updateUserEmail, itemId]
);

<input
   onChange={inputChangeFunc}
   defaultValue={userEmail || ''}
   type="email"
   error={intl.formatMessage({
       id: 'incorrect_email_format',
       defaultMessage: 'Incorrect Email Format',
   })}
/>

次の質問があります。

  1. event依存配列にandを含める必要がありdataますか? これらは関数への入力であるため、inputChangeFuncこれらの値が変更されたときに再作成する必要はありません。

  2. intl.formatMessage呼び出しをerroraでラップして、再useMemoレンダリングがトリガーされないようにする必要があります-次のようなものです:

     const emailMessage = useMemo(
     () =>
         intl.formatMessage({
            id: 'incorrect_email_format',
            defaultMessage: 'Incorrect Email Format',
         }),
     [intl]
    );
    

またはこれは不要でしょうか?

4

0 に答える 0