import React, { useContext, useState } from 'react'
function Message () {
const { message, hide } = useContext(MessageContext)
const showMessage = Boolean(message)
return showMessage ? (
{ message }
hide() }/>
) : null
}
const defaultContext = {
message: null,
show: () => console.log('Show message'),
hide: () => console.log('Hide message')
}
const MessageContext = React.createContext(defaultContext)
function MessageProvider () {
function show (message) {
setMessage(message)
}
function hide () {
setMessage(null)
}
const initialState = {
message: null,
show,
hide
}
const [message, setMessage] = useState(initialState)
return (
)
}
export { MessageProvider, MessageContext }