Skip to content

Instantly share code, notes, and snippets.

@Yamo93
Created July 18, 2022 16:18
Show Gist options
  • Save Yamo93/02e3c22be90b2c6965323c0f9953b3f5 to your computer and use it in GitHub Desktop.
Save Yamo93/02e3c22be90b2c6965323c0f9953b3f5 to your computer and use it in GitHub Desktop.
function Parent () {
const [value, setValue] = useState();
function save () {
server.save(value); // save value on the server
}
return <Child type="checkbox" value={value} setValue={setValue} />;
}
function Child ({ type, value, setValue }) {
let renderedItem;
switch (type) {
case 'text':
renderedItem = <Input type="text" value={value} onChange={(e) => setValue(e.target.value)} />;
break;
case 'checkbox':
renderedItem = <Input type="checkbox" value={value} onChange={(e) => setValue(e.target.checked)} />;
break;
default:
renderedItem = null;
}
return renderedItem;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment