Skip to content

Instantly share code, notes, and snippets.

@cgadski
Created October 19, 2021 12:59
Show Gist options
  • Select an option

  • Save cgadski/0a0c767a82c3a3d0f9295a3e435c56e0 to your computer and use it in GitHub Desktop.

Select an option

Save cgadski/0a0c767a82c3a3d0f9295a3e435c56e0 to your computer and use it in GitHub Desktop.
import { useState } from 'react'
function Child(props: { close: () => void }): JSX.Element {
return (
<div> <div> <div>
<button onClick={props.close}>click me to close</button>
</div> </div> </div>
)
}
export default function Parent(): JSX.Element {
// let [state, setState] = useState({ expanded: false })
// let open = () => { setState({expanded: true }) }
// let close = () => { setState({expanded: false }) }
// let expanded = () => state.expanded
let [state, setState] = useState(false)
let open = () => { setState(!state) }
let close = () => { setState(!state) }
let expanded = () => state
return (
<a onClick={open}>
<p>click me to open</p>
<div> <div> <div>
{expanded() && <Child close={close} />}
</div> </div> </div>
</a>
)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment