useDictionary
A React useReducer() hook to use dictionaries (keys and values)
Getting started
const App: React.FC = () => {
const initialState = {
id: '',
name: '',
password: '',
termsAndConditions: false,
};
const {
state,
onUpdateValue, // Update a value from the dictionary
onClearValue // Remove a value from the dictionary
onClear // Remove all values from the dictionary
} = useDictionary(initialState);
const onSubmit = useCallback((event: React.FormEvent) => {
event.preventDefault();
console.log('Create User!', state);
}, [state]);
return (
<form onSubmit={onSubmit}>
<label>
Document:
<input
type="text"
value={state.id}
onChange={(e) => onUpdateValue('id', e.target?.value)}
/>
</label>
<label>
Name:
<input
type="text"
value={state.name}
onChange={(e) => onUpdateValue('name', e.target?.value)}
/>
</label>
<label>
Password:
<input
type="password"
value={state.password}
onChange={(e) => onUpdateValue('password', e.target?.value)}
/>
</label>
<label>
Accept terms and conditions:
<input
type="checkbox"
checked={state.termsAndConditions}
onChange={(e) => onUpdateValue('termsAndConditions', e.target?.checked)}
/>
</label>
<input type="submit" value="Submit" />
</form>
);
}
β¨
Contributing When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated
You can learn more about how you can contribute to this project in the contribution guide.
π»
Supporting I believe in Unicorns
Donate Ethereum, ADA, BNB, SHIBA, USDT, DOGE:
Wallet address: 0x3F9fA8021B43ACe578C2352861Cf335449F33427
Please let us know your contributions!
βοΈ
License This repository is available under the MIT License.
π―
Happy coding Made with