Changeset View
Changeset View
Standalone View
Standalone View
native/markdown/markdown-context-provider.react.js
- This file was added.
// @flow | |||||
import * as React from 'react'; | |||||
import { MarkdownContext } from './markdown-context.js'; | |||||
type Props = { | |||||
+children: React.Node, | |||||
}; | |||||
function MarkdownContextProvider(props: Props): React.Node { | |||||
const [linkModalActive, setLinkModalActive] = React.useState<{ | |||||
[key: string]: boolean, | |||||
}>({}); | |||||
const clearMarkdownContextData = React.useCallback(() => { | |||||
setLinkModalActive({}); | |||||
}, []); | |||||
const contextValue = React.useMemo( | |||||
() => ({ | |||||
setLinkModalActive, | |||||
linkModalActive, | |||||
clearMarkdownContextData, | |||||
}), | |||||
[setLinkModalActive, linkModalActive, clearMarkdownContextData], | |||||
); | |||||
return ( | |||||
<MarkdownContext.Provider value={contextValue}> | |||||
{props.children} | |||||
</MarkdownContext.Provider> | |||||
); | |||||
} | |||||
export default MarkdownContextProvider; |