在React中将组件的状态添加到字符串中

时间:2016-07-07 21:20:23

标签: string reactjs components

我有一个具有以下状态的组件:

class Example extends Component {
  constructor(props) {
    super(props);
    this.state = { 
      var1: "Dog",
      var2: "Cat",
      var3: [20, 40],
      currentFilter:"None"
    };
      this.updateFilter = this.updateFilter.bind(this);
  }

在更新过滤器函数中,我想要合并所有状态属性,但以下语法不起作用:

updateFilter(){
  var newSearch= "Searching" {this.state.var1} + {this.state.var2}
  this.setState({
    currentFilter: newSearch
  });
}

有没有办法将state的属性合并到字符串变量中?

2 个答案:

答案 0 :(得分:2)

除非您正在编写JSX,否则您不需要大括号。由于您的updateFilter()函数只是一个普通的Javascript函数,因此可以将其写为:

updateFilter() {
  var newSearch = "Searching" + this.state.var1 + this.state.var2;
  this.setState({
    currentFilter: newSearch
  });
}

虽然,仅供参考,您newSearch获得的内容将是一个不连贯的"SearchingDogCat",因此您可能需要重新考虑您的连接。

答案 1 :(得分:0)

您也可以这样做:

updateFilter() {
  var newSearch = `Searching ${this.state.var1} ${this.state.var2} `;
  this.setState({
    currentFilter: newSearch
  });
}

请注意,这些不是单引号。他们是`