- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个使用 React 与 Relay 和 GraphQL 的应用程序。我遇到了一个问题,我需要在更改中继变量时保留组件的状态。
例如,假设我有组件状态:
state = {
to: '',
from: '',
body: '',
...
}
我有一个包含以下片段和变量的中继容器:
initialVariables: {
to: '',
from: '',
},
fragments: {
viewer: () => Relay.QL`
fragment on viewer {
...
thread(to: $to, from: $from)
}
`
}
该组件具有用于to 和from 字段的文本字段,以及一个onChange 处理程序,该处理程序还更新中继变量
onChange = e => {
const to = e.target.value;
this.setState({ to });
this.props.relay.setVariables({ to });
}
这导致查询再次执行,组件重新呈现,并且我丢失了对当前组件状态的任何更改。
到目前为止,我发现的唯一解决方案是将此状态保留在父组件中,并将值和 onChange 处理程序作为 props 传递下去,但最好将所有这些都保留在同一个组件中。
如何在不丢失状态的情况下调用 relay.setVariables?
最佳答案
两者都是setVariables
和 setState
采用可选的第二个参数,在状态实际更新后运行。
我认为你想要:
this.props.relay.setVariables({ to }, () => this.setState({ to }));
但也许相反。
关于javascript - 使用 Relay.setVariables 保存 React 组件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41453631/
尝试使用setVaraible()使字符串"Hometown"等于用户输入,以便稍后可以回调。以前有人帮助过我做这种性质的事情,但它是在循环中使用的,所以我无法确切地看到它是如何工作的。 privat
我使用react-router-relay并且在我的一条 route 我有一个下拉菜单。 现在,我从该下拉列表中选择一个不同的值 - 这将调用 this.props.relay.setVariable
我正在使用 swfObject 在我的应用程序中嵌入一个 Flash 播放器。偶尔,我在尝试与嵌入式 Flash 对象通信时会在 FireFox 中看到错误(仅在 IE 或 Chrome 中没有)。错
我用 Flash Player 实现了一个网页。然后我使用 SetVariable 关键字为 Flash 播放器对象提供参数。 document.getElementById('flashPlayer
Tesseract setVariable 白名单适用于英语,例如我用它来识别图像中的数字和字母(不包括特殊字符 &*^%! 等) myOCR->SetVariable("tessedit_char_
从大量的目击中,我只能找到其中的几个,如下面的 tesseract 的 setVariable(1st param, 2nd param) 示例 tesseract->SetVariable("tes
我有以下 Powershell 脚本。 param([String]$stepx="Not Working") echo $stepx 然后我尝试使用以下 C# 将参数传递给此脚本。
activiti 中的 setVariable 和 setVariableLocal 方法有什么区别?以及何时使用这些方法。 最佳答案 区别在于范围。当您设置变量 local 时,它的作用域仅为当前执
我想从数据流中的现有字段动态创建一个变量(不是新字段),然后修改该变量。 原因是,我需要用单引号 ' 括住可以在 Sql 语句的 IN 子句中使用的字符串列表。 Kettle 消除了字段中的单引号,但
当我尝试设置变量时,组件仅在获取完成后更新。这是一个示例代码。 class RelayExample extends React.Component { setVars() { this.
我正在开发一个使用 React 与 Relay 和 GraphQL 的应用程序。我遇到了一个问题,我需要在更改中继变量时保留组件的状态。 例如,假设我有组件状态: state = { to: ''
我在以下布局中使用 DataBinding。我在绑定(bind)对象上调用 setViewModel() 方法。如果我立即调用 binding.getViewModel(),它会返回 null。见下面
本文整理了Java中org.mozilla.zest.core.v1.ZestVariables.setVariable()方法的一些代码示例,展示了ZestVariables.setVariable
我的数据文件夹位于本地,其中包含子文件夹。每个子文件夹的名称中都有一个日期,并且内部可以包含多个 Excel 文件。 ForEach 事件迭代每个子文件夹名称并将每个 Excel 中的数据加载到 SQ
我正在 Robot Framework 中使用字典,并尝试在给定键时获取值。当我使用“SetVariable”命令时它似乎起作用,但当我使用“Evaluate”命令时它不起作用。我还使用 Python
在 Objective C 中,我想使用什么场景 [self setVariable:value];而不是 variable = value; 似乎做一个自我设置我为自己节省了几行代码,但还有什么其他
我正在构建一个视频播放器网络应用程序,它使用 flash 进行播放,使用 jquery/javascript 作为 UI。根据编写 flash 组件的人的设计,我需要使用 setVariable 在
我正在研究 android 数据绑定(bind),遇到了我们可以使用以下两种方式设置模型的场景: User user = new User("User", "Abc"); // this is a
我是一名优秀的程序员,十分优秀!