javascript - React 不会从 className 中追加类

标签 javascript html reactjs

我在使用 React 时遇到问题,不知道为什么,但 React 没有附加属性 class在渲染的 HTML 代码中。我在body中导入css文件,在react脚本中导入样式,编写className属性等等。

页面上的结果将在没有类的情况下被阻止 – <div>test</div>

App.js

import React, {Component} from 'react';
import styles from '../assets/main.css';

export default class App extends Component {
    constructor(props) {
        super(props);
    }

    render() {
        return (
            <div>
                <div className={styles.test}>test</div>
            </div>
        );
    }
}

main.css

.test {
    color: red;
}

Webpack 配置

const HTMLWebpackPlugin = require('html-webpack-plugin');
const HTMLWebpackPluginConfig = new HTMLWebpackPlugin({
    template: __dirname + '/app/index.html',
    filename: 'index.html',
    inject: 'body'
});
const webpack = require('webpack');

module.exports = {
    entry: [
        'react-hot-loader/patch',
        __dirname + '/app/index.js'
    ],
    devServer: {
        hot: true
    },
    module: {
        loaders: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                loader: 'babel-loader'
            },
            {
                test: /\.css$/,
                loader: "style-loader!css-loader"
            }
        ]
    },
    output: {
        filename: 'transformed.js',
        path: __dirname + '/build'
    },
    plugins: [
        HTMLWebpackPluginConfig,
        new webpack.NamedModulesPlugin(),
        new webpack.HotModuleReplacementPlugin()
    ],
    resolve: {
        extensions: ['.js', '.jsx', '.css']
    }
};

最佳答案

导入 CSS 样式表只会导致 Webpack 将其与 JavaScript 的其余部分捆绑在一起。您不能将 styles.test 添加为属性,这不会执行任何操作。您需要将 className 指定为字符串,就像 HTML 元素一样。

render() {
    return (
        <div>
            <div className="test" >test</div>
        </div>
    );
}

关于javascript - React 不会从 className 中追加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47665069/

相关文章:

html - 如何根据相邻单元格的高度来限制表格单元格 (td) 的高度?

html - 调整 Google Maps API 的宽度和高度

javascript - 在 React 中渲染动态输入字段

javascript - 忽略 react 路由器路由

javascript - 使用 JavaScript 选择文本框

javascript - 强制 Chrome 始终获取 javascript 文件

javascript - 为什么我掷出 1 时分数不等于 0?

javascript - 什么是 Javascript 中的虚拟 Getter 和 Setter?

css - 具有最小高度的 div 和子 div 具有父级的高度

html - 如何将 mdGridTile 制作成链接