【发布时间】:2017-08-18 10:14:36
【问题描述】:
我尝试在 typescript 中使用 react-css-modules,但我收到一条错误消息,无法将 styleName 添加到 div 元素。这是代码。
import * as Immutable from 'immutable';
import * as React from 'react';
import * as CSSModules from 'react-css-modules';
import { connect } from 'react-redux';
import { bindActionCreators, Dispatch } from 'redux';
const styles = require<any>('./style.scss');
interface RootProps {
data: Immutable.List<string>;
dispatch: Dispatch<any>;
}
@CSSModules(styles)
export class Root extends React.Component<RootProps, {}>{
render() {
return (
<div styleName='root'>
Hello
</div>
)
}
}
export default connect(mapStateToProps, mapDispatchToProps)(Root);
我收到此错误消息:'Property 'styleName' does not exist on type 'HTMLProps<HTMLDivElement>'
还有 tsconfig
"compilerOptions": {
"target": "es5",
"moduleResolution": "node",
"jsx": "react",
"experimentalDecorators": true,
"removeComments": true,
"preserveConstEnums": true,
"allowSyntheticDefaultImports": true,
"allowJs": true,
"sourceMap": true,
}
【问题讨论】:
-
你的意思是
className? -
您应该复制并粘贴代码本身,而不是创建代码的屏幕截图、裁剪和上传代码
-
我想在 div 元素中添加一个类 'root'。但必须使用 styleName 属性
-
为什么必须使用 styleName 属性?这不是 React 的标准属性。 css-modules 添加了吗?通常,你会使用
className属性来添加一个类。 -
@DavinTryon 第一句中的提交者提到了他正在使用的包。如果你访问他们的 github 页面,他们会向你解释 styleName,它的好处。
标签: javascript reactjs typescript webpack react-css-modules