javascript - 如何更改 li 标签内的特定组件(react js);

标签 javascript reactjs frontend mern

我写了一个 React 函数式组件,里面有一个无序列表。每个 li 都有一个特定的键。在 li 里面有一个 div 标签和一个按钮。我需要在点击时更改特定按钮的状态。

    <div>
        <ul>
            {data.map((value,index) => {
                return <li key={value.id}>
                    <div>
                        {value.name}
                    </div>
                    <button
                    onClick={changethislistate}
                    >
                        click
                    </button>
                </li>
            })}
        </ul>
    </div>

单击单击按钮时,我只需要将那个 li 的值从 click 更改为 clicked。而且我还需要在功能组件中执行此操作。

最佳答案

li 个项目创建一个组件,这样每个项目都可以管理它自己的状态:

const ListItem = ({value}) => {
  const [clicked, setClicked] = useState(false);
  return (
    <li>
      <div>{value.name}</div>
      <button onClick={()=> setClicked(prev => !prev)}>{clicked ? "clicked" : "click"}</button>
    </li>
  );
};

然后:

<div>
   <ul>
     {data.map((value,index) => {
        return <ListItem key={value.id} value={value} />        
     })}
   </ul>
</div>

关于javascript - 如何更改 li 标签内的特定组件(react js);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66691843/

相关文章:

javascript - 为什么输入类型=文件的变化没有被识别为 `form.serialzie()`

javascript - 使用动态构建的 jQuery promise 链顺序激活特定元素

unit-testing - 如何在每次 Jest 测试运行之前运行一些配置

html - 一个标签在 chrome 中分成两行,为什么?

javascript - 如何为传单中的featureGroup提供额外的选项?

c# - Javascript 在 UpdatePanel 附近不起作用

javascript - 我应该在哪里保存按键的变量?

javascript - Invariant Violation Invalid hook call 部署错误

javascript - 在一个单词动画时移动文本

html - 如何在 HTML 中查找和删除意外的代码行