[React 19] Get context value in class component constructor
未关闭
还没有人认领这个 Issue。
- 主要语言
- JavaScript
- 星标
- 11.8k
- 派生
- 7.9k
- 平均合并
- 1 天 11 小时
- 30 天内合并 PR
- 11
描述
I updated version of react from 18.2.0 to 19.1.0 (@types/react to 19.1.6, @types/react-dom to 19.1.5).
After the update I received several components with such errors:
Argument of type 'typeof SplitCostDialog' is not assignable to parameter of type 'ComponentType<never>'.
Type 'typeof SplitCostDialog' is not assignable to type 'ComponentClass<never, any>'.
Target signature provides too few arguments. Expected 2 or more, but got 1.
I found the reason. I use context in class constructor.
export class SplitCostDialog extends React.PureComponent<ISplitCostDialogProps, IState> {
static contextType = ResourcePlanContext;
declare context: IResourcePlanContext;
constructor(props: ISplitCostDialogProps, context: IResourcePlanContext) {
super(props);
const { scope, position } = context.modals.splitPositionCost;
this.state = { form: new SplitCostForm(scope, position) };
}
...
}
How can I use context inside a constructor after updating to version 19?
I didn't find the answer in the guide.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 issue 中链接的 React 19 升级指南开始,并将其与报告中的类组件构造函数示例进行比较。记录升级后应如何处理构造函数中的 context 访问,包括相关的迁移指南,使该指南能够清楚地回答这一情况。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- react, typescript
- 领域
- documentation
- Issue 类型
- 文档
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100