javascript - React.js、JavaScript 通过单击数组中的父元素获取 Img

标签 javascript reactjs

我正在尝试制作一个用作导航的选择组件。

当我单击菜单列表之一时,clickedValue(img和文本)应该位于按钮元素上。

我找到了一种显示点击文本值的方法,即“e.currentTarget.textContent”,但对于 img,我找不到方法...

我尝试过innerHTML,它显示了字面链接源,但不是实际图像。

我没有写一些你不需要的其他代码,如果这让你烦恼,抱歉xD

state = {
   clickedValue : 'cryptocurrency'
}


handleSelected = (e) => {
    const { clickedValue } = this.state;

    this.setState({
        clickedValue : e.currentTarget.textContent
    })
}

const menu = [{
        link : '/service',
        img : some link,
        title : 'Cryptocurrency'
    },{
        link : '/service/wallet',
        img : some link2,
        title : 'Wallet'
    }, {
        link : '/service/ico',
        img : some link3,
        title : 'Ico'
    }]

<button>Clicked Value which is img and text here</button>
{menu.map(
    (menu) => (
         <li onClick={handleSelected} className={cx('list')}><NavLink exact to={menu.link}><img src={menu.img} alt={menu.title}/>{menu.title}</NavLink></li>
    )
)}

最佳答案

我确信您可以让它按照您想要的方式工作,但为什么不简单地将菜单值传递给 handleSelected

<li onClick={() => this.handleSelected(menu)}

为您节省大量时间:)

关于javascript - React.js、JavaScript 通过单击数组中的父元素获取 Img,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52417130/

相关文章:

javascript - mdl-js-ripple-effect 导致 event.target.value 在 React 组件中变为未定义

javascript - 如何从 redux thunk 操作返回 promise 并在组件中使用它

javascript - Controller 经常被调用,但仅限于 iOS 上的 Chrome

javascript - 如何使用 React Native 在 Android 设备上打开 native 邮件(与 'Linking.openURL()' iOS 相同)

javascript - 加载时随机全屏视频背景(包括 jsfiddle)

javascript - 如何使用 jQuery 或 JavaScript 将一个标签封装在另一个标签中?

reactjs - 避免在上下文更新时运行效果 Hook

reactjs - tomcat apache 8 服务器上的 Pentaho API(端口 - 8080)在通过不同的 Web 应用程序(react JS,端口 - 3000)调用时会出现 COR 问题

javascript - vue.js:当数组改变时 v-for 不会重新渲染内容

javascript - Shopify 选项选择器不更改价格