Skip to content

Instantly share code, notes, and snippets.

@thomasblaymire
Last active December 30, 2018 10:13
Show Gist options
  • Select an option

  • Save thomasblaymire/413890db0dc5e8a732793351ca1b1de4 to your computer and use it in GitHub Desktop.

Select an option

Save thomasblaymire/413890db0dc5e8a732793351ca1b1de4 to your computer and use it in GitHub Desktop.
React Hooks Single State
import React, { useState } from 'react';
const todo = props => {
const [userState, setUserState] = useState({
userName: '',
userList: [],
});
const inputChangeHandler = event => {
setUserState({
userName: event.target.value,
userList: userState.userList,
});
};
const userAddHandler = () => {
setUserState({
userName: userState.userName,
userList: userState.userList.concat(userState.userName),
});
};
return (
<React.Fragment>
<input type="text" placeholder="Add user" onChange={inputChangeHandler} value={userState.userName} />
<button type="button" onClick={userAddHandler}>
Add
</button>
<ul>
{userState.userList.map(user => (
<li key={user}>{user}</li>
))}
</ul>
</React.Fragment>
);
};
export default todo;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment