使用变量代替字符串

时间:2016-09-18 20:49:28

标签: javascript reactjs

我是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,以便我可以清理代码,但我不确定如何。任何帮助将不胜感激

1 个答案:

答案 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 = '';,因为如果这样做,您将重新分配不正确的引用。