【发布时间】:2021-04-09 20:07:11
【问题描述】:
我正在 React Native 中构建一个简单的复选框组件,我正在尝试制作一些脚本来添加和删除选定选项数组中的选定选项。
我正在使用 Array.filter() 函数来检查一个项目是否在数组中 - 但是我收到了这个错误:
selected.filter is not a function.
(In 'selected.filter(function (c) {
return c === choice;
})', 'selected.filter' is undefined)
这是我的代码:
const Select = ({ multichoice, isMultiple }) => {
const [selected, setSelected] = useState([])
const includes = choice => (
selected.filter( c => c === choice ).length
)
const toggleSelected = choice => {
if ( includes(choice) ) setSelected( selected.filter( c => c != choice ) )
else setSelected( selected.push(choice) )
}
return (
<View style={styles.selectContainer}>
{multichoice.map(choice =>
<Option choice={choice} toggleSelected={toggleSelected} selected={includes(choice)}/>
)}
</View>
)
}
【问题讨论】:
标签: javascript reactjs react-native babeljs