Closed
Description
Bug Report
π Search Terms
- props
- never
- spread
π Version & Regression Information
- This is the behavior in every version I tried, and I reviewed the FAQ for entries about jsx,
never
, and spreads. This seems like a design limitation.
β― Playground Link
Playground link with relevant code
π» Code
// @ts-ignore
const obj: never = {}
const obj2 = {...obj}
const el = <div {...obj} />
π Actual behavior
As seen in kiliman/remix-params-helper#19, never
is able to be spread into JSX props, even though never
cannot be spread into objects. This seems odd to me as both compile to Object.assign
. See screenshots:
TypeScript prevents spreading never
into an object:
But spreading never
into props works fine:
π Expected behavior
never
should be prevented from spreading into jsx props, just like it cannot be spread into objects.