首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我正在使用React得到一个错误:“无效的DOM属性` you‘,您的意思是’`htmlFor`‘吗?”

我正在使用React得到一个错误:“无效的DOM属性` you‘,您的意思是’`htmlFor`‘吗?”
EN

Stack Overflow用户
提问于 2020-01-27 02:26:33
回答 4查看 40.5K关注 0票数 38

我正在为我的前端创建一个简单的CRUD应用程序,我在这个错误上遇到了麻烦:

代码语言:javascript
运行
复制
app.js:21988 Warning: Invalid DOM property `for`. Did you mean `htmlFor`?

这是我的密码:

代码语言:javascript
运行
复制
import React, { Component } from 'react';
import axios from 'axios';

export default class Add extends Component {

    constructor()
    {
        super();
        this.state={
            blogs_name:''

        }
    }


    render() {
        return (
            <div>
                <form>
                     <div className="form-group">
                        <label for="blogs_name">Title</label>
                        <input
                            type="text"
                            className="form-control"
                            id="blogs_name" 
                            value={this.state.blogs_name} 
                        />
                    </div>
                    <button type="submit">Submit</button>
                </form>
            </div>
        );
    }
}

我假设它必须对我标签中的for属性做些什么。

任何帮助都是非常感谢的。

EN

回答 4

Stack Overflow用户

发布于 2020-01-27 02:29:19

在使用React时,您不能在JSX中使用for关键字,因为这是一个javascript关键字(记住,JSX是javascript,所以不能使用像forclass这样的单词,因为它们还有其他特殊的含义!)

要避免这种情况,使用htmlFor代替React元素(有关更多信息,请参见反应文档 )。

因此,您的render函数应该是(我只用htmlFor替换了for ):

代码语言:javascript
运行
复制
render() {
    return (
        <div>
            <form onSubmit={this.onSubmit} >
                <div className="form-group">
                    <label htmlFor="blogs_name">Title</label>
                    <input type="text" className="form-control" id="blogs_name" 
                        value={this.state.blogs_name} 
                    onChange={this.onChangeBlogsName} />
                </div>
                <button type="submit" className="btn btn-primary">Submit</button>
            </form>
        </div>
    );
}
票数 81
EN

Stack Overflow用户

发布于 2021-03-14 14:51:43

for=""替换为htmlFor=""

在您的情况下,请更改此

代码语言:javascript
运行
复制
<label for="blogs_name">Title</label>

到这个

代码语言:javascript
运行
复制
<label htmlFor="blogs_name">Title</label>
票数 15
EN

Stack Overflow用户

发布于 2020-01-27 03:15:15

for是JavaScript中的一个保留词--这就是为什么当涉及到JSX中的HTML时,您需要使用其他的东西,响应团队决定分别使用htmlFor。您可以检查这里中的属性列表

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59924585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档