Reactjs 对平面列表呈现项的React本机无效钩子调用
所以我有一个react原生平面列表,在每个Reactjs 对平面列表呈现项的React本机无效钩子调用,reactjs,react-native,react-hooks,Reactjs,React Native,React Hooks,所以我有一个react原生平面列表,在每个平面列表中使用钩子 export const RenderEntityList = (props) => { const { entityList } = props; const getEntityName = useCallBack((entity) => { //...get Entity name from list }, [entityList]); return <FlatLi
平面列表中使用钩子
export const RenderEntityList = (props) => {
const { entityList } = props;
const getEntityName = useCallBack((entity) => {
//...get Entity name from list
}, [entityList]);
return <FlatList
data={entityList}
renderItem={RenderEntity({ getEntityName })}
/>
};
const RenderEntity = (props) => {
const { getEntityName } = props;
return (props) => {
const { item: entity } = props;
// This is where i get the error Invalid hook call;
const [entityName, setEntityName] = useState('');
useEffect(() => {
setEntityName(getEntityName(entity))
}, [entity])
return <ListItem
title={entityName}
/>
};
export const RenderEntityList=(props)=>{
const{entityList}=props;
const getEntityName=useCallBack((实体)=>{
//…从列表中获取实体名称
},[entityList]);
返回
};
const RenderEntity=(道具)=>{
const{getEntityName}=props;
返回(道具)=>{
常量{item:entity}=props;
//这就是我得到错误无效钩子调用的地方;
常量[entityName,setEntityName]=useState(“”);
useffect(()=>{
setEntityName(getEntityName(实体))
},[实体])
返回
};
我不确定我到底做错了什么。
在此方面的任何帮助都将不胜感激
谢谢你。
Amol您使用的是RenderEntity
作为功能
而不是功能组件
:
改变这个
renderItem={RenderEntity({ getEntityName })}
与:
renderItem={({item, index, separators}) => <RenderEntity item={item} getEntityName={getEntityName}/> }
renderItem={({item,index,separator})=>}
Hmmm,我会尝试一下。出于好奇,我们可以像我在问题中提到的那样使用咖喱吗?首先检查getEntityName
是否返回任何内容,如果返回,那么您可以使用它来获取entityname返回字符串,我可以使用React.createElement吗?