问题描述
我有一个状态保存在文件Body
中,该状态由直接子级WikiReference
作为使用者使用。值作为道具传递给WikiReference
的子组件。这些孩子之一需要能够将值传递回正文(或其他地方)以过滤WikiReference
我认为评论displayed here是前进的方向,但是我在思考如何实现过滤器时会遇到麻烦,例如单击位于一个组件中,而过滤位于另一个组件中。
change = (e) => {
return this.state.tree.filter(item => item.fileType === e.target.value)
}
Body.js
function Body() {
const [searchState,setSearchState] = useState({
searchCriteria: "",headers:[],references: []
});
return (
<>
<SearchContext.Provider value={{searchState,setSearchState}}>
<Search />
<WikiHeader />
<WikiReference />
</SearchContext.Provider>
</>
);
}
export default Body;
WikiReference.js返回部分
return (
<>
{
references.map(reference => {
console.log(reference);
return(
<div class="container">
<Title title={reference.title} url={reference.url}/>
<Domain domain={reference.domain}/>
<Type type={reference.type}/>
<IsGov isGov={reference.isGov} onClick={onClick}/>
</div>
);
})
}
</>
);
Type.js
import React,{Component} from "react";
import "../../../App.css"
class Type extends Component {
switch(type){
switch(type) {
case 'article':
return <span><i className="fa fa-file-text float-right entryicon" aria-hidden="true"></i></span>
//return 'fa fa-file-text';
case 'video':
return <span><i className="fa fa-video-camera float-right icon-red entryicon" aria-hidden="true"></i></span>
//return 'fa fa-video-camera';
case 'audio':
return <span><i className="fa fa-headphones float-right icon-orange entryicon" aria-hidden="true"></i></span>
case 'forum':
return <span><i className="fa fa-comments float-right icon-blue entryicon" aria-hidden="true"></i></span>
default:
return 'foo';
}
}
render(){
return(
this.switch(this.props.type)
);
}
}
export default Type;
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)