小编jam*_*non的帖子

Cypress w/graphql - 通过 UI 进行测试时遇到问题。存根突变的更好方法?

因此,如果我在真空中测试页面而没有与后端进行太多交互,那么效果很好。如果它遇到任何类型的服务,我在实际与我的 UI 交互时遇到问题。基本上,没有什么是经过验证的。我尝试以编程方式 setCookie,没有骰子。我试着读饼干,不。顺便说一句,我的整个网站都需要登录。

cy.setCookie('sess', ';askjdfa;skdjfa;skdjfa;skdjfa;skfjd');<-- does not work

cy.getCookie('sess').should('exist') <-- does not work
Run Code Online (Sandbox Code Playgroud)

我在真正“测试”这个的最佳方式上遇到了问题。例如,我有一个帐户部分,用户可以“更新”他们的个人信息。我尝试,填写表单(通过UI测试),但提交被拒绝,没有Auth。即使我刚刚登录(通过 UI 测试)。- 我知道我需要删除它,因为对我网站的每个部分进行 UI-Login 都是不好的做法。

所以,我不知道如何使用 cy.request() 存根 graphql 调用。这是我的突变。

mutation Login($email: Email!, $password: String!) {
  login(email: $email, password: $password) {
    userID
    firstName
    lastName
  }
}
Run Code Online (Sandbox Code Playgroud)
  1. 现在,我正在为我正在测试的站点的每个部分导入登录规范。我知道这是一种反模式。喜欢解决这个问题。

  2. 我的 AUTH (cookie) 没有被设置。即使我尝试以编程方式设置它,也不起作用。

  3. 也许我应该剔除我的 graphql 突变?如何?

  4. 最后,如果我正在剔除我的 graphql 突变,我该如何更新会话(通过我的主会话查询)。如果我可以让这些突变起作用,那么刷新页面将获得我更新的数据,所以我并不完全需要这部分。

有任何想法吗?

cypress

2
推荐指数
1
解决办法
1580
查看次数

为什么这个返回哈希会给我带来问题?

可能重复:
使用Javascript对象键的变量

我无法弄清楚我是如何弄乱它的.

我的代码给了我错误:

invalid property id
Run Code Online (Sandbox Code Playgroud)

码:

 return  { this.Obj.itemid :
               {  Color : this.Obj.color,
                  Name : this.Obj.name,
                  Year : this.Obj.year
                }
           };
Run Code Online (Sandbox Code Playgroud)

我需要将这些哈希值作为数组返回(因此返回),但无论我做什么,它都会返回上面的错误,或者var引用被字符串化.我实际上无法获得动态js值作为键.

我试过这个:

" + this.Obj.itemid + "
Run Code Online (Sandbox Code Playgroud)

还有这个:

var itemid = this.Obj.itemid;
return { itemid : {
         //etc..
    }}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

javascript arrays key

1
推荐指数
1
解决办法
84
查看次数

jQuery - 有没有办法'保存'dom元素(css)状态并恢复到保存状态等...?

我有一个css菜单,也做儿童菜单等..问题是,我必须为tab/jaws用户创建eventHandlers.似乎当我用show()/ hide()操作菜单时,它会破坏固有的css选择器及其状态,因此如果用户想要同时执行tab和鼠标移动 - 它将无法工作.他们要么必须使用所有鼠标或标签等.

可以为mouseover/outs等创建更多的js事件处理程序.但是好奇如果克隆父元素onload是可行的,并且当它们选项卡"关闭"菜单时,我会"恢复"到此保存的标签.因此用户可以使用鼠标悬停/输出等的css方法.

这有意义吗?或者这是为鼠标事件创建更多的eventHandler这么多的工作/开销?

javascript jquery

1
推荐指数
1
解决办法
3083
查看次数

var A == var B == 1寻找真理.不工作.可能吗?

不确定这是可行的,但我正在寻找一个真值回报,例如.. var A = 100; var B = 100;

(A == B == 100) 
Run Code Online (Sandbox Code Playgroud)

我认为这会回归真实.因为A == B(它们都是100)并且因此它们都等于100.

但它总是错误的.

编辑:::谢谢,是的 - 我很感激回复...我希望有一些漂亮的shorhand比做(A === 100)&&(B === 100)等......但是非常感谢.

javascript

1
推荐指数
1
解决办法
133
查看次数

将从导入分配的React组件渲染为变量..如何?

因此,我需要动态确定要显示的组件..例如,所以.我有:

import Component1 from '..somepath/Component1'
import Component1 from '..somepath/Component2'

var P = {
   red: Component1,
   blue: Component2
}

render() {
  var newComponent = P[color];
  return (
     <newComponent /> // not working
     {newComponent} // not working
    newComoponent // not working

  )
}
Run Code Online (Sandbox Code Playgroud)

这种映射可能很大,因此没有进行切换或if/else.

如何让它返回另一个组件?

reactjs react-jsx

1
推荐指数
1
解决办法
1902
查看次数

moment.js 和已弃用的警告。时间戳到时刻日期对象

我已经阅读了有关类似问题的各种帖子,但没有一个能解决我的问题。

我操作 moment.js 日期对象,然后将其存储为时间戳。

但是,当我再次尝试读取该时间戳时,我收到了已弃用的警告。

""弃用警告:moment 构造回退到 js 日期。这是不鼓励的,并将在即将发布的主要版本中删除。请参阅https://github.com/moment/moment/issues/1407了解更多信息。”

我试过 toDate(), format(), moment(myTimeStamp, 'ddd, DD MMM YYYY HH:mm:ss ZZ'); --> 全部生成警告...

因此,例如,我的时间戳将如下所示:

const 时间戳 = '1458586740000'

当我读回并尝试解析月/日/年,然后是小时/分钟上午/下午等时......我需要将该时间戳记放入 moment.js 对象中。没有什么对我有用。有任何想法吗。

我怎样才能得到这个时间戳:'1458586740000',到一个 moment.js 对象中,以便我可以根据需要从中提取日期日期?

编辑:这就是我存储时间戳的方式。所以我需要从中检索它。

let timeStamp = Moment(state[_Date])
                           .add({ hour: state[AMPM] === 'PM'
                                      ? +state[Hour] + 12
                                      : state[Hour] ,
                                  minute: state[Min] }).format('x')
Run Code Online (Sandbox Code Playgroud)

momentjs

1
推荐指数
1
解决办法
1963
查看次数

删除div中的最后一个链接,但保留"链接"文本 - 如何?

我正在为导航器构建一些面包屑.这是在通过模板语言呈现页面之前完成的.一旦页面呈现,我需要做一些计算.

而不是在模板方面做一堆IF/ELSE,有没有办法用链接渲染div ..让我们说..

<div id="bc_links">
<a>Link one</a> >
<a>Link 22</a> >
<a>Link 33</a> >
<a>Link 44</a> >
</div>
Run Code Online (Sandbox Code Playgroud)

那么做一些jquery或原型(可以访问两个库)并能够识别link44是最后一个链接,并使显示如下:

<div id="bc_links">
<a>Link one</a> >
<a>Link 22</a> >
<a>Link 33</a> >
 Link 44
</div>
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

javascript jquery prototypejs

0
推荐指数
1
解决办法
281
查看次数

用外行术语解释.call().协助理解它

我在mozilla文档中看到了这个例子.以下解释:

"在这个纯粹构造的例子中,我们创建了一个匿名函数并使用call来调用它在数组中的每个对象.这里匿名函数的主要目的是为每个对象添加一个print函数,它能够打印出正确的索引数组中对象的传递.将对象作为此值传递并非绝对必要,但是出于解释目的而进行."

var animals = [
  {species: 'Lion', name: 'King'},
  {species: 'Whale', name: 'Fail'}
];

for (var i = 0; i < animals.length; i++) {
  (function (i) {
    this.print = function () {
      console.log('#' + i  + ' ' + this.species + ': ' + this.name);
    }
  }).call(animals[i], i);
}
Run Code Online (Sandbox Code Playgroud)

我不明白的是这里叫做什么.如果我们没有它,我们是不是仍然会通过anon功能循环并安慰价值?这有什么关闭吗?我只想了解如何使用.call()以及为什么.

javascript jquery

0
推荐指数
1
解决办法
82
查看次数

scss/sass 和目标最后一个 div 边框底部

所以,我有这个卡组组件,其中有单独的卡。我想删除除最后一个之外的所有边框底部。我无法解决它。我正在使用 sass/scss

<CardGroup className="cardgroup">
   <Card className="card"><div>other stuff</div></Card>
   <Card className="card">stuff two<div>whatever</div></Card>
   <Card className="card">stuff three</Card> <--- KEEP BORDER BOTTOM HERE
</CardGroup>
Run Code Online (Sandbox Code Playgroud)

我对所有的孩子都有边界..(卡)。我想从卡片组中删除卡片边框底部。我的 css 看起来像: 请记住,我使用 hex/ing,因此 css 名称会发生​​变化。当然,我会得到“基本”名称,这就是我这样做的原因:*=card。它似乎删除了所有的孩子,还有孙子等......我似乎不能只针对包含“card”的最后一个CSS类来抑制边框底部。

我尝试了几件事(即最后一个孩子等)就是无法得到它。有任何想法吗?

<CardGroup className="cardgroup">
   <Card className="card"><div>other stuff</div></Card>
   <Card className="card">stuff two<div>whatever</div></Card>
   <Card className="card">stuff three</Card> <--- KEEP BORDER BOTTOM HERE
</CardGroup>
Run Code Online (Sandbox Code Playgroud)

css sass

0
推荐指数
1
解决办法
619
查看次数

使用反应查询遇到突变和组件闪烁的问题

因此,我正在查询我的上下文 API 通过表单选择更新更新的所有内容。

所以,操作顺序就像这样。

  1. 用户通过从下拉列表中选择(可能的多个之一)来更改表单。
  2. 更改更新“context api”,从而使父组件重新饱和。
  3. 因为表单键/值发生了变化,所以我触发了一个突变。
  4. 变异返回一个值。到目前为止,很棒。
  5. 但是,当我重复步骤 #1 - #4 时,另一个组件会闪烁更新后的值,因为在某些时候,期望值的“const”未定义......然后,它有一个值......

所以,就像这样..

有值... ...查询API调用...没有值...返回查询有值

const ProductPage = (props) => {
  const { question } = useContextStateWhatever();
  /* Queries */
  const { data = {}, isFetched } = useProductUpdatePrice({ questions });

  const value = derivePriceFromResponse(data.products);

  return (
   <SomeComponentRendered value={value} />
  )
Run Code Online (Sandbox Code Playgroud)

因此,您可以在查询中的“旧值”和请求之间看到,传递的“值”将是未定义的。然后查询返回更新后的值。

我希望查询将返回任何以前的值,但“queryKey”会随着表单的每次选择而变化。深度查询Key。

我希望我不必再将这个值从 useEffect 中放入本地状态,或者使用 useRef 并创建钩子来交回“前一个”值,直到新值准备好......这不是react-query为了,对吗?我的意思是,每当“上下文 api”发生变化时,我不应该能够进行查询调用,并且不希望出现未定义的延迟差异。有什么策略可以克服这个问题吗?

由于每个查询的“queryKey”都是不同的(主要用于正常形式的交互),我可以看到它如何在解决之前无法返回先前的值等等......有什么想法吗?

有什么想法吗?

react-query

0
推荐指数
1
解决办法
1684
查看次数