reactjs / reactjs/react.dev

Documentation should state that React preserves setState callback this context

Open Beginner friendly
#8,314 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
11.8k
Forks
7.9k
Avg merge
1d 11h
Merged PRs (30d)
11

Description

I just recently found out that setState's callback calls with the correct this context per this line in the React source. Nowhere in the documentation is it stated that React internally calls callbacks with context. This should be made clear as many assume it doesn't, leading to unnecessary measures such as arrow functions, explicit binding, etc.

The lack of explicit documentation also creates confusion with other things that do require binding, such as traditional class methods used as event handlers.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the referenced ReactFiberUpdateQueue.js line to confirm how setState callbacks receive context, then locate the setState callback documentation in the React docs. Update the guidance to state the callback's this context and distinguish it from class methods used as event handlers.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, react
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.