14

の特定のフィールドに何らかの値を持たせるために、テキストを小文字に変換し、そのインデックスを -1 と比較して比較を行っていますがReactJS、JavaScript コンソールで次のエラーが発生しています。

キャッチされていない TypeError: props.filterText.toLowerCase は関数ではありません

var props = this.props;
var rows = this.props.episodes
    .filter(function(episode){
        return episode.title.toLowerCase().indexOf(props.filterText.toLowerCase()) > -1;
    })
    .map(function(episode){
       return <EpisodeRow key={episode.title} episode={episode}/>
    });
4

3 に答える 3

25

Chris のコメントが正解のようです。

titleが文字列の場合、 toLowerCase() の前にtoString()を使用します。

return episode.title.toString().toLowerCase().indexOf(props.filterText.toString().toLowerCase()) > -1;
于 2016-09-02T21:18:21.327 に答える