由于JSX元素上缺少属性而导致的编译错误

时间:2016-08-24 16:58:34

标签: reactjs typescript jsx

我正在使用material-ui,我有一个Slider元素:

<Slider ... sliderStyle={{}} ...>

我收到错误:

error TS2339: Property 'sliderStyle' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<Slider> & SliderProps & { children?: ReactElement<...'.

我猜定义文件不是最新的。我怎么能忽略这个错误?

2 个答案:

答案 0 :(得分:2)

似乎sliderStyle已添加到版本SilderProps的{​​{1}}界面,因为它不在in 0.15.1

你可以augmentate

0.15.2

然后将此属性添加到界面。

您也可以手动更改手动的interface SliderProps extends React.Props<Slider> { sliderStyle: { [key: string]: any }; } 文件,直到对下一个版本进行更新,然后无论如何都应该拥有此属性。

修改

您需要导入和扩充.d.ts而不是SliderProps本身,因为Slider是道具的一部分。
应该是:

sliderStyle

我还没有对它进行过测试,但这就是想法。

答案 1 :(得分:1)

将变量转换为any,将值设置为Slider,然后绕过属性检查。

import { Slider } from "material-ui";
const MySlider: any = Slider;