为什么我会出现此错误?TypeError:this.state.items.sort不是函数



我曾尝试引用我的建议变量中的项,但由于某种原因,每当我尝试引用它时都会出错。我不能引用变量中的状态吗?我能做些什么来修复这个错误?

const { Search } = Input;
class AutoCompleteText extends Component{
constructor(props) {
super(props);
this.state = {
suggestions: [],
text: '',
items: [{ name:'', currentName:''}]
};
}
componentDidMount() {
let URL = 'http://hp-api.herokuapp.com/api/characters';
let HEADERS = {'content-type':'application/json', 'authorization':'sdjfjdskfj45j4ekj'};
axios.get(URL, HEADERS)
.then((response) => {
let usersData = response.data;
let items = [];
for (let i=0; i<usersData.length; i++) {
let currentName = usersData[i]['name'];
items.push({'name': currentName});
}
this.setState({items: "n;ajsdfasd"});  
console.log(items);
})
.catch((error) => {
console.log(error);
});
}
onTextChanged = (x) => {
const value = x.target.value;
let suggestions = [];
if (value.length > 0) {
const regex = new RegExp(`^${value}`, 'i')
suggestions = (this.state.items).sort().filter(v => regex.test(v));
}
this.setState(() => ({suggestions, text: value}));
console.log(suggestions)
}
this.setState({items: "n;ajsdfasd"});  

在这里,您将项目设置为字符串。它不再是一个数组。

将其更改为

this.setState({items: items}); 

最新更新