我是JS和React的新手,我正在为一个bootcamp项目工作。我在聊天应用程序上进行协作,我想要用变量替换字符串来清理代码。以下是我正在做的事情:
import React from 'react';
const Form = React.createClass({
submit(e) {
e.preventDefault();
this.props.messagesRef.push({
text: this.refs.text.value,
time: Date.now(),
user: {
displayName: this.props.user.displayName,
photoURL: this.props.user.photoURL,
uid: this.props.user.uid,
},
});
this.refs.text.value = '';
},
render() {
return (
<form className="form" onSubmit={this.submit}>
<input className="form-input" placeholder="Write something…" ref="text"/>
<button className="form-button">Send</button>
</form>
);
}
});
export default Form;
我想用变量替换this.refs.text.value
,以便我可以清理代码,但我不确定如何。任何帮助将不胜感激
答案 0 :(得分:0)
您可以使用变量来存储值,并使用它代替this.refs.text.value
:
submit(e) {
e.preventDefault();
var val = this.refs.text.value;
this.props.messagesRef.push({
text: val, //notice the use of val
time: Date.now(),
user: {
displayName: this.props.user.displayName,
photoURL: this.props.user.photoURL,
uid: this.props.user.uid,
},
});
this.refs.text.value = ''; //do not use val here!
},
这只是使用变量val
代替this.refs.text.value
,虽然我不推荐,因为它不一定会使代码更干净。确保不要更改 this.refs.text.value = '';
,因为如果这样做,您将重新分配不正确的引用。