javascript - 我们如何使用 react js 将图标添加到侧边栏中的项目列表中?
问题描述
I am creating a music website using HTML,CSS and React JS.The below code is for the Sidebar. We have Home and Favorites items which is added to a list. I would want to know how can we add the icons to Home and Favourites.
const Sidebar = () => {
const [sidebarState, setState] = useState({
modal: false,
toast: ''
})
const { state, dispatch } = useContext(StoreContext)
const playlistRef = useRef(null)
const playlists = Object.keys(state.playlists)
const addPlaylist = e => {
e.preventDefault()
const list = playlistRef.current.value
dispatch({ type: 'ADD_PLAYLIST', playlist: list })
setState({
...sidebarState,
modal: false,
toast: 'Playlist was created successfully!'
})
}
const handleModal = () =>
setState({ ...sidebarState, modal: !sidebarState.modal })
return (
<ul className="Sidebar" css={CSS}>
<img src={logo} />
<li className="library">Library</li>
{playlists.map(list => (
<li
key={list}
className={list === state.currentPlaylist ? 'active' : ''}
onClick={() => dispatch({ type: 'SET_PLAYLIST', playlist: list })}
>
</li>
))}
<li className="new-playlist" onClick={handleModal}>
<i className="fa fa-plus-circle" />
<span>New Playlist</span>
</li>
<Modal show={sidebarState.modal} close={handleModal}>
<form onSubmit={addPlaylist}>
<div className="title">New Playlist</div>
<div className="content-wrap">
<input
type="text"
placeholder="My Playlist"
ref={playlistRef}
required
/>
<br />
<button type="submit">Create</button>
</div>
</form>
</Modal>
<Toast
toast={sidebarState.toast}
close={() => setState({ ...sidebarState, toast: '' })}
/>
</ul>
)
}
在此处输入图像描述 我已经添加了输出的截图。我想知道我们如何在侧边栏中添加主页和收藏夹的图标。主页和收藏夹在列表中,我需要单独访问它们以指定图标。
{playlists.map(list => (
<li
key={list}
className={list=== state.currentPlaylist ? 'active' : '' }
onClick={() => dispatch({ type: 'SET_PLAYLIST', playlist: list })}
>
{list}
</li>
))}
这是我需要添加图标的代码部分。
解决方案
推荐阅读
- wordpress - Timber Twig 模板 - 粘性帖子不仅会推到列表顶部,还会向页面添加额外的预告片
- c# - 在另一个类中调用函数(c#)
- python - 将 POST 请求从邮递员导出到 Python
- eigen - Eigen:自定义标量类型的归约操作非常慢
- docker - 在不同机器上构建 docker 镜像会阻止共享层吗?
- symfony - Symfony 3.4 中的依赖注入:检查服务是否存在
- reactjs - 如何使用 create-react-app 命令添加 gzip 以响应应用程序
- javascript - 如何使用 JS 在 API 返回时将字符串的一部分更改为不同的值?
- github - 弃用 Github 密码认证是否包括所有通过 curl 进行的基本认证方法?
- ruby - 使用 yield 更改函数内部的参数