Render一个input组件的属性为什么不起作用?

#1
import React, { Component } from 'react';
import ReactDOM from 'react-dom';

class App extends Component {
	constructor(props){
        super(props)
     }
	
    componentDidMount() {
		ReactDOM.render(<input maxlength="5"/>, document.getElementById('Dname'))
    }

    render() {
        return (
            <div className="App">
				<label>姓名</label>
				<input type="text" id="Dname"/>
			</div>			
        );
    }
}

export default App;
#2

具体哪个属性不起作用? 驼峰大小写是否正确?

#3

maxlength 不起作用,value也不行
上面有代码的,不知哪里没写对

#4

value 属性你没写吧. maxLength 你试了吗?

#6

改为maxLength 也不行,value属性可以不写吧,当然正式的时候是要的,
刚才尝试加了value属性,也不行.

初始化时加:

  <div className="App">
				<label>姓名</label>
				<input type="text" id="Dname" malength="10"/>
			</div>		

这样是可以的

但我的目的是想动态设置maxlength

#7

不清楚了. 看 GitHub 上咋样吧 https://github.com/facebook/react/issues/10250

#8

好的,谢谢了.英文学得不好,大概意思看懂了,好像说是受控组件不能设置maxlength/value这类属性

#9

或者说设置了实际上控制不了, 还是建议在 React onChange 的逻辑当中自己实现.