import * as React from "react"; import FormComponent, { FormProps } from "./Form"; interface IFormContext { hasChanged: boolean; toggle: () => void; } export const FormContext = React.createContext(undefined); interface FormProviderState { hasChanged: boolean; } export class FormProvider extends React.Component<{}, FormProviderState> { state: FormProviderState = { hasChanged: false }; toggle = () => this.setState(prevState => ({ hasChanged: !prevState.hasChanged })); render() { return ( {this.props.children} ); } } export function Form(props: FormProps) { return ( {({ hasChanged, toggle }) => ( )} ); } export default Form;