From 526f2a261252f4d2ad5574b1422ff4430a7d093b Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Mon, 20 Apr 2020 18:23:14 +0200 Subject: [PATCH] Additional useCallback on inputs (#320) --- package.json | 6 +- packages/extension-base/package.json | 2 +- .../extension-ui/src/Popup/ImportSeed.tsx | 17 +-- .../src/components/InputWithLabel.tsx | 11 +- .../src/components/TextAreaWithLabel.tsx | 11 +- .../src/components/ValidatedInput.tsx | 7 +- yarn.lock | 114 +++++++++--------- 7 files changed, 90 insertions(+), 78 deletions(-) diff --git a/package.json b/package.json index cf89a7de..3b4371ae 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,9 @@ "packages/*" ], "resolutions": { - "@polkadot/api": "^1.11.0-beta.32", + "@polkadot/api": "^1.11.0-beta.33", "@polkadot/keyring": "^2.8.1", - "@polkadot/types": "^1.11.0-beta.32", + "@polkadot/types": "^1.11.0-beta.33", "@polkadot/util": "^2.8.1", "@polkadot/util-crypto": "^2.8.1", "babel-core": "^7.0.0-bridge.0", @@ -30,7 +30,7 @@ "devDependencies": { "@babel/core": "^7.9.0", "@polkadot/dev": "^0.52.11", - "@polkadot/typegen": "^1.11.0-beta.32", + "@polkadot/typegen": "^1.11.0-beta.33", "@types/jest": "^25.2.1", "copy-webpack-plugin": "^5.1.1", "sinon-chrome": "^3.0.1", diff --git a/packages/extension-base/package.json b/packages/extension-base/package.json index f601bff2..dd035300 100644 --- a/packages/extension-base/package.json +++ b/packages/extension-base/package.json @@ -6,7 +6,7 @@ "license": "Apache-2", "dependencies": { "@babel/runtime": "^7.9.2", - "@polkadot/api": "^1.11.0-beta.32", + "@polkadot/api": "^1.11.0-beta.33", "@polkadot/extension-inject": "0.24.1", "@polkadot/keyring": "^2.8.1", "@polkadot/ui-keyring": "^0.52.1" diff --git a/packages/extension-ui/src/Popup/ImportSeed.tsx b/packages/extension-ui/src/Popup/ImportSeed.tsx index 619759f8..a2fe9acf 100644 --- a/packages/extension-ui/src/Popup/ImportSeed.tsx +++ b/packages/extension-ui/src/Popup/ImportSeed.tsx @@ -33,13 +33,16 @@ export default function Import (): React.ReactElement { const [name, setName] = useState(null); const [password, setPassword] = useState(null); - const _onChangeSeed = useCallback(async (suri: string | null): Promise => { - if (suri) { - setAccount(await validateSeed(suri)); - } else { - setAccount(null); - } - }, []); + const _onChangeSeed = useCallback( + async (suri: string | null): Promise => { + if (suri) { + setAccount(await validateSeed(suri)); + } else { + setAccount(null); + } + }, + [] + ); // FIXME Duplicated between here and Create.tsx const _onCreate = useCallback((): void => { diff --git a/packages/extension-ui/src/components/InputWithLabel.tsx b/packages/extension-ui/src/components/InputWithLabel.tsx index 53232697..78706aab 100644 --- a/packages/extension-ui/src/components/InputWithLabel.tsx +++ b/packages/extension-ui/src/components/InputWithLabel.tsx @@ -2,7 +2,7 @@ // This software may be modified and distributed under the terms // of the Apache-2.0 license. See the LICENSE file for details. -import React from 'react'; +import React, { useCallback } from 'react'; import styled from 'styled-components'; import Label from './Label'; @@ -23,9 +23,12 @@ interface Props { } function InputWithLabel ({ className, defaultValue, isError, isFocused, isReadOnly, label, onBlur, onChange, placeholder, type = 'text', value }: Props): React.ReactElement { - const _onChange = ({ target: { value } }: React.ChangeEvent): void => { - onChange && onChange(value.trim()); - }; + const _onChange = useCallback( + ({ target: { value } }: React.ChangeEvent): void => { + onChange && onChange(value); + }, + [onChange] + ); return (