【发布时间】:2020-11-28 15:49:49
【问题描述】:
我对 JS 和 React 真的很陌生。我收到此错误: Invalid Hook Call 当我尝试使一个组件出现并在单击另一个组件时消失时。这是我的代码:
const RenderList = ({data}) => {
return data.map((option, index) => {
return <Item title={option}/>
});
};
const Header = ({ title, style, press }) => (
<TouchableHighlight onPress={press}>
<Text style={style} >{title}</Text>
</TouchableHighlight>
)
const RenderItem = ( {item} ) => {
console.log(styles)
let dataToShow;
const [listState, setListState] = useState(true);
if (listState){
dataToShow = <RenderList data={item.data}/>
} else {
dataToShow = <Text/>
}
return (
<View style={styles.section}>
<Header title={item.title} style={styles.header} press={setListState(!listState)}/>
{dataToShow}
</View>
)}
编辑 RenderItem 在平面列表元素中用作函数。 (据我了解)
const SettingsSection = (props) => {
const db = props.data;
return(
<View>
<FlatList
style={styles.sectionList}
data={db}
renderItem={RenderItem}
keyExtractor={item=>item.title}
ItemSeparatorComponent={FlatListItemSeparator}
/>
</View>
);
}
【问题讨论】:
-
对不起,我忘了,我会用信息编辑我的问题:)
标签: javascript node.js reactjs react-native react-hooks