【问题标题】:How to passing data from component to another component on reactJs using map?如何使用 map 将数据从组件传递到 reactJs 上的另一个组件?
【发布时间】:2019-09-16 02:43:26
【问题描述】:

我有一个react-big-calendar,我希望当我点击新事件时,小时的对话框将具有点击新事件的小时值,例如,我从 07:30 到08:30,所以我想在我的对话框中将这一小时作为startend 状态的输入值,但是,我通过单击他的位置的按钮“Ajouter disponibilité”来获得相同的对话框在日历的上方,当我单击它时,我将获得当前的时间,并且在这两个位置我都可以使用时钟来更改它。

我的代码沙箱是:

https://codesandbox.io/s/9llpm579py

当我运行它时,我得到相同的值是他们两个的时刻。

我该如何解决?

【问题讨论】:

标签: javascript reactjs state react-props react-component


【解决方案1】:

https://codesandbox.io/s/8xl25y616j

因为您将这些文本字段的所需格式作为参数传递给handleAjouter = (start, end),所以您可以将它们绑定到您的第一个元素的开始和结束。您可以像以前一样使用 moment,但似乎没有必要。

handleAjouter = (start, end) => {
    this.state.tranches[0].start = start;
    this.state.tranches[0].end = end;
    this.setState({
      start: moment(start).format("HH:mm"),
      end: moment(end).format("HH:mm"),
      clickDisponibilite: true,
      tranches: this.state.tranches,
      openPopupAjout: true
    });
  };

因为您的初始元素,虽然它从 start 和 end 获取初始值,但它的值在 tranches[0] 内。

所以现在它会在https://gyazo.com/d0f887a0fa3d4dfeff56919a7cf94b28 中提取这些值

【讨论】:

  • 谢谢@Caleb,但是当我点击日历上方的按钮时,一切都消失了,但我想当我点击它时,我得到moment().format("HH:mm)的输入值
  • 可以用redux吗?我会尝试没有。我不确定您是否可以在没有商店的情况下进行双向绑定。
  • Redux 的工作方式类似于数据存储,但您可以直接使用。看看你的前进方向,它会让你的生活更轻松。它就像一个变量持有者,您的任何组件都可以发送或接收数据。如果您使用它,您可以说:当弹出窗口中的时间发生变化时,将 tranches[i] start 和 stop 设置为您的 redux 存储中的值,然后在 Agenda 中获取这些值以创建新的日历条目。
  • 谢谢@Caleb,你能帮我吗? stackoverflow.com/questions/56003028/…
猜你喜欢
  • 1970-01-01
  • 2019-12-02
  • 2022-11-01
  • 1970-01-01
  • 2019-02-20
  • 2022-06-10
  • 2019-11-06
相关资源
最近更新 更多