Skip to content

useState provides this behavior already #4

@ehaynes99

Description

@ehaynes99

https://reactjs.org/docs/hooks-faq.html#how-to-create-expensive-objects-lazily

useState accepts a default value OR a create function for the default value. If a function, it is evaluated only once. Thus, this entire pattern could simply be a convenience function:

import * as React from 'react' export default function useConstant<T>(fn: () => T): T { return React.useState<T>(fn)[0] }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions