在 ReactJS 中删除一个项目

2023-11-27

我是 React 新手,制作了一个允许保存搜索的应用程序。这将拉取 JSON,但当前正在从静态数组中拉取data。我无法从搜索列表中删除搜索。

这是 jsbin:http://jsbin.com/nobiqi/edit?js,输出

这是我的删除按钮元素:

var DeleteSearch = React.createClass({
  render: function() {
    return (
      <button onClick="this.props.deleteSearchItem" value={index}><i className="fa fa-times"></i>
        </button>
    );
  }
});

和我的功能

  deleteSearchItem: function(e) {
    var searchItemIndex = parseInt(e.target.value, 10);
    console.log('remove task: %d', searchItemIndex);
    this.setState(state => {
        state.data.splice(searchItemIndex, 1);
        return { data: state.data };
    });
  }

我已经尝试遵循教程,但我不知道从这里该去哪里。如何删除搜索项?


让我猜猜,你在寻找这样的东西吗?

class Example extends React.Component {
    constructor(){
    this.state = {
      data: [
        {id:1, name: 'Hello'},
        {id:2, name: 'World'},
        {id:3, name: 'How'},
        {id:4, name: 'Are'},
        {id:5, name: 'You'},
        {id:6, name: '?'}
      ]
    }
  }

  // shorter & readable 
  delete(item){
    const data = this.state.data.filter(i => i.id !== item.id)
    this.setState({data})
  }

  // or this way, it works as well
  //delete(item){
  //  const newState = this.state.data.slice();
  //    if (newState.indexOf(item) > -1) {
  //    newState.splice(newState.indexOf(item), 1);
  //    this.setState({data: newState})
  //  }
  //}

  render(){
    const listItem = this.state.data.map((item)=>{
        return <div key={item.id}>
        <span>{item.name}</span> <button onClick={this.delete.bind(this, item)}>Delete</button>
      </div>
    })
    return <div>
        {listItem}
    </div>
  }
}

React.render(<Example />, document.getElementById('container'));

在这个例子中注意我是如何绑定的delete方法并传递新参数。fiddle

我希望它能帮助你。

Thanks

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ReactJS 中删除一个项目 的相关文章

  • 我想检查 $('#td1').text() === "x" 是否?

    我想检查innerHtml是否有X或O 所以我不能再次添加任何其他东西 但它不起作用 添加检查代码后它就停止了 我在这里尝试做一个简单的XO游戏来更熟悉javascript和jquery 我也不确定是否可以用 jQuery 做到这一点
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 使用 JavaScript 使链接保持活动状态并在单击时显示悬停效果

    I am struggling to make this work I d like to make it where if O F is clicked the hover state stays active if another li
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • Google App Engine:修改云运行环境

    我正在尝试部署一个使用自定义 Node js 服务器的 Next js 应用程序 我想将自定义构建变量注入应用程序 next config js const NODE ENV process env NODE ENV const envTy
  • 如何将背景图像仅应用于一个反应页面而不是整个应用程序?

    注册页面示例 register background image linear gradient to right ff5722 0 ff9800 100 margin top 150px important div div div div
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • Jquery/Javascript 上传和下载文件,无需后端

    是否可以在没有后端服务器的情况下在 JavaScript 函数中下载和上传文件 我需要导出和导入由 JavaScript 函数生成的 XML 我想创建按钮 保存 xml 来保存文件 但我不知道是否可行 另一方面 我希望将 XML 文件直接上
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • firebase :: 无法读取 null 的属性“props”

    你好 我正在尝试将react router与firebase一起使用 但它给了我这个错误 无法读取 null 的属性 props 这正是代码 我正在其中使用我的反应路由器 向下代码位于作为登录面板组件的组件上 else if this em
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win
  • 如何在 Swiper 实例之外使用 useSwiper?

    我在用着用于 React 的滑动器 https swiperjs com react显示一些幻灯片 我一直坚持使用外部按钮在幻灯片 上一张和下一张 之间导航 刷卡器有一个useSwiper hook https swiperjs com r

随机推荐

  • 如何使用元对象协议向对象添加属性?

    我试图回答this问题 并认为我可以使用元对象协议向类添加属性 这是一个我尝试添加属性的最小示例test到班级Configuration施工后 use v6 class Configuration my config Configurati
  • 核心数据中的索引关系

    我刚刚开始在 iPhone SDK 上使用 Core Data 并且正在考虑保存有序列表 例如数组 然而 核心数据中的关系在检索时表示为集合 这使得保存对象的放置顺序变得困难 一个很好的例子是允许对项目进行重新排序时表视图中的数据项目 一个
  • JSF生成的HTML元素ID是变化的,如何将其设置为固定的元素ID?

    我有一个 JSF 输入文本组件 其 id 为search 在生成的 HTML 输出中 它看起来像这样j idt17 search 但是数量17正在不时发生变化 怎样才能让它保持一成不变呢 给生成 HTML 元素的 JSF 组件id j id
  • install_name_tool -change 和 -id 之间的区别

    我已经在这个概念上苦苦挣扎了一段时间 我无法真正理解两者之间的区别 change and id 手册页指出 id name Changes the shared library identification name of a dynami
  • 滚动我自己的@Html.BeginfOrm()

    我正在编写一个自定义验证集 它将显示 div 上所有缺失的元素 我希望能够使用自定义 Html BeginForm 方法将写出该 div 但我真的不知道从哪里开始 因为这个坚果比写出标签或字符串的 html 扩展更难破解 表单封装了数据 控
  • 差异算法

    有人可以推荐一些关于 XML 的基于树的 diff 算法的论文 文献 或代码片段 基于 DOM 树 非常感谢 这是一篇关于相同内容的有用论文 http pdf aminer org 000 301 327 x diff an effecti
  • 将 props 传递给 Material UI 样式

    鉴于Card代码如here 如何更新卡片样式或任何材质 UI 样式 const styles theme gt card minWidth 275 对此如下 const styles theme gt card minWidth 275 b
  • Heroku 中使用 OpenCV 的 Python Web 应用程序

    我正在构建一个在后端使用 OpenCV 的 Web 应用程序 我已经在 Ubuntu 上构建了该应用程序 我也在 Windows 上尝试过 并且运行良好 目前 我正在尝试配置 OpenCV 以在 Heroku 上工作 由于无法使用 pip
  • 在 DataFrame.groupby 的情况下,如何根据另一列的最大值获取一列的值

    我有一个看起来像这样的数据框 id YearReleased Artist count 168 2015 Muse 1 169 2015 Rihanna 3 170 2015 Taylor Swift 2 171 2016 Jennifer
  • AngularJS 组复选框验证

    我有一个复选框列表 其中至少有一个是必填的 我尝试通过 AngularJS 验证来实现这一点 但遇到了困难 下面是我的代码 Code goes here for js var app angular module App function
  • C++ 是否可以计算出整个向量? [复制]

    这个问题在这里已经有答案了 我需要计算一个向量 不仅仅是其中的一个元素 而是整个事物 例如 std cout 您可以定义一个实用函数 例如 template
  • 64 位 Windows 上 long 的位大小是多少?

    不久前 有人告诉我long在 64 位机器上不是 64 位 我应该始终使用int 这对我来说没有意义 我看过文档 例如苹果官方网站上的文档 说long为 64 位 CPU 编译时确实是 64 位 我查了一下 64 位 Windows 上的内
  • 在 Emacs 中,如何使用键盘选择完成列表?

    当我在迷你缓冲区中按 Tab 键完成并且 Emacs 在新缓冲区中显示完成列表时 如何在不使用鼠标的情况下切换到该缓冲区 I tried C x o 但这只是切换到第一个缓冲区 我从中进入了迷你缓冲区 我也尝试过C x b 但这给了我com
  • 如何使用 npm 脚本重命名文件

    我在用复制文件作为一个 npmscirpt copyfiles u 2 src app conf dev json dist config 但最后我想把文件重命名 如何将输入文件重命名为类似的名称conf json 我检查了文档 没有发现可
  • 带定时器的 Windows 服务

    我在 c net 中创建了一个带有计时器的 Windows 服务 当我在 Visual Studio 中调试 构建项目时它工作正常 但安装后它不执行其操作 这背后的原因可能是什么 代码 public partial class Servic
  • 添加包含数字列的分箱值的列

    我有一个包含几列的数据框 其中一列是排名 是 1 到 20 之间的整数 我想创建另一列 其中包含 bin 值 如 1 4 5 10 11 15 16 20 最有效的方法是什么 我的数据框看起来像这样 csv 格式 rank name inf
  • 了解 WebElement.findElement() 和 XPATH

    我想使用WebElement findElement 使用 XPATH 定位父节点内节点的 API span class child class 我以为这会让我归还 div 那是在父级内部 然而 它返回了我在整个 DOM 树中找到的第一个
  • Flask 文件上传限制

    我有一个用于多个文件上传的文件上传处理程序 并设置了 MAX CONTENT SIZE 文档提到当总文件大小超过限制时 Flask 会抛出 413 异常 因此我还使用自定义 413 页面编写了 413 错误处理程序 但是 在测试文件上传时
  • Gettext 或数据库翻译

    哪个更好 gettext 基于自定义MySQL 缓存的功能 Gettext 是一种内置功能 因此我认为它已针对性能进行了调整 使用 poedit 是一种痛苦 而且不可能向任何客户展示 自定义功能允许简单的翻译界面 但可能对 php db 使
  • 在 ReactJS 中删除一个项目

    我是 React 新手 制作了一个允许保存搜索的应用程序 这将拉取 JSON 但当前正在从静态数组中拉取data 我无法从搜索列表中删除搜索 这是 jsbin http jsbin com nobiqi edit js 输出 这是我的删除按