我有一个具有以下状态的组件:
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的属性合并到字符串变量中?
答案 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
});
}
请注意,这些不是单引号。他们是`