我使用defaultValue在textarea中传递this.props.childred,但它给了我错误
未捕获错误:如果您在a上提供defaultValue
,请不要传递子项。
另一种选择是什么,或者是否有更好的方法来低估值
import React, {Component} from 'react';
class Update extends Component {
constructor(props){
super(props);
this.state = {
editing:false
}
this.renderEdit = this.renderEdit.bind(this)
}
edit(){
this.setState({
editing:true
})
}
remove(){
alert("remove")
}
save(){
this.setState({
editing:false
})
}
renderNormal(){
return (
<div className="container">
<div className="content"> {this.props.children}</div>
<button onClick={this.edit.bind(this)} className="edit" >Edit </button>
<button onClick={this.remove} className="remove" >Remove </button>
</div>
);
}
renderEdit(){
console.log( 'this.props ', this.props)
console.log( 'this.props.children ', this.props.children)
return (
<div className="container">
<textarea ref="newText" defaultValue={this.props.children} > </textarea>
<button onClick={this.save.bind(this)} className="edit" >Save </button>
</div>
);
}
render(){
var great = "awesome "
if(this.state.editing){
return this.renderEdit();
}else{
return this.renderNormal();
}
}
}
export default Update;
答案 0 :(得分:2)
使用这样的自我关闭语法:
<textarea ref="newText" defaultValue={this.props.children}/>
或者实际上,您也可以删除<textarea>
标记之间的空格。