Javascript 使用React Native-TypeError创建复选框时出现问题:hashtags.map不是函数

Javascript 使用React Native-TypeError创建复选框时出现问题:hashtags.map不是函数,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我在React Native中创建了一些复选框。这应该是用户可以选择或取消选择的hashtag。当我点击hashtag框时出现错误:“TypeError:hashtags.map不是一个函数…”,但我无法找出问题所在。 我以身作则 这是我的密码: Hashtags.js文件 import React, { useState } from 'react'; import {StyleSheet, View, Image} from 'react-native'; import { CheckBox

我在React Native中创建了一些复选框。这应该是用户可以选择或取消选择的hashtag。当我点击hashtag框时出现错误:“TypeError:hashtags.map不是一个函数…”,但我无法找出问题所在。 我以身作则

这是我的密码:

Hashtags.js文件

import React, { useState } from 'react';
import {StyleSheet, View, Image} from 'react-native';
import { CheckBox } from 'react-native-elements';
const HashtagsList =[
  {checked: false, title: '#tip1'},
  {checked: false, title: '#tip2'},
  {checked: false, title: '#tip3'},
  {checked: false, title: '#tip4'},
  {checked: false, title: '#tip5'},
  {checked: false, title: '#tip6'}, 
];

const Hashtags = props => { 
  const [hashtags, setHastags] = useState(HashtagsList);

const toggleCheckbox = (title) =>{   
  const checkedHashtags = hashtags.find((hashtag) => hashtag.title === title);
  checkedHashtags.checked = !checkedHashtags.checked;
  let checkboxes = hashtags;
  for (let i=0; i<checkboxes; i++)
  {
    if(checkboxes[i].title === title){
      checkboxes.splice(i, 1, checkedHashtags);
    };
  };  
  setHastags({ checkboxes });
}
return(
  hashtags.map((hashtag, i) => {
    console.log(hashtag);
    return (
      <CheckBox
        key = {i}
        title = {hashtag.title}
        checkedIcon={<Image style={styles.chekBoxPic} source={require('../assets/svg/checked.svg')} />}
        uncheckedIcon={<Image style={styles.chekBoxPic} source={require('../assets/svg/unchecked.svg')} />}        
        checked={hashtag.checked}
        onPress={() => toggleCheckbox(hashtag.title)}
      /> 
    ) 
  } )
)

};
const styles = StyleSheet.create({   
  chekBoxPic:{
    width: 22, 
    height: 22, 
  },
});
export default Hashtags;
和我的App.js文件:

 <View type={styles.SomeStyle}>
   <Hashtags />
  </View>
我在代码中做错了什么


谢谢

当你这样做时,一切都会破裂

setHashtags{复选框}; 这一行使hashtags成为一个对象而不是数组。您只需删除花括号

SetHashTagscheckbox;
哦,上帝。。。非常感谢你,哈哈!我希望这段代码能起作用!我想这是可行的,如果我的回答对你有帮助,你介意接受吗?