2016-07-07 218 views
0

我有以下狀態的組件:添加組件的狀態在一個字符串陣營

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 
    }); 
} 

有沒有辦法將狀態屬性合併到字符串變量中?

回答

1

除非您正在編寫JSX,否則不需要大括號。由於您的updateFilter()功能僅僅是一個正常的JavaScript函數,你可以把它寫成:

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

雖然,僅供參考,你會得到newSearch將是一個語無倫次"SearchingDogCat"所以你可能要重新考慮你的級聯。

+0

謝謝!我使用的例子只是我的應用程序的一個非常簡化的裸骨骼版本,但需要指出。 – lost9123193