Skip to content

useMutableSource: allow getSnapshot to return a function #18823

Closed
@dai-shi

Description

@dai-shi

Ref: reactjs/rfcs#147 (comment)

React version: 0.0.0-experimental-e5d06e34b

Steps To Reproduce

  1. createMutableSource that contains functions
  2. getSnapshot returns one of the functions

Link to code example:

https://codesandbox.io/s/jovial-dew-1eg4t?file=/src/App.js

The current behavior

If getSnapshot returns a function, it will run the function in render. This results in various errors.

My workaround: return an object wrapping a function, and destruct on caller.

For now, you can work around this by returning a function that returns your function

I don't know how this works as workaround.

The expected behavior

It would be nice if returning a function just works.

Note: this is not a rare use case in my library https://github.com/dai-shi/use-context-selector
because we often pass [state, setState] in a context value.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Status: UnconfirmedA potential issue that we haven't yet confirmed as a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions