小编Dee*_*ank的帖子

如何指定采用多种类型的 graphql 类型?

我想创建一个可以返回 anArray of IntegersString.

我已经尝试在 form 中使用 union union CustomVal = [Int] | String,但这会返回错误。

架构声明是:

union CustomValues = [Int] | String

type Data {
    name: String
    slug: String
    selected: Boolean
    values: CustomValues
}
Run Code Online (Sandbox Code Playgroud)

错误是:

node_modules/graphql/error/syntaxError.js:24
return new _GraphQLError.GraphQLError('Syntax Error: ' + description, undefined, source, [position]);
Syntax Error: Expected Name, found [
GraphQL request (81:23)
80: 
81:     union CustomValues = [Int] | String
Run Code Online (Sandbox Code Playgroud)

这可以在graphql中做到吗?如果没有,您能否建议一种替代方法来做到这一点。

我问这个,因为工会文件说 Note that members of a union type need to be concrete …

graphql graphql-js

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

如何使用酶在div上模拟鼠标悬停事件以测试反应应用程序?

我有一个div,onMouseOver并将onMouseLeave子div切换为下拉菜单。我想使用酶测试悬停事件。

该组件的相关代码为:

<div className="search-category" onMouseOver={() => toggleDropdown(true)} onMouseLeave={() => toggleDropdown(false)}>
    <div className="search-type">
        ...
    </div>
    {dropdownShown && <SearchMenu searchSections={searchSections} dispatch={dispatch} />}
</div>
Run Code Online (Sandbox Code Playgroud)

相关的测试代码是

...
it('should toggle search type dropdown on mouse hover', () => {
    expect(enzymeWrapper.find('.SearchMenu').exists()).toEqual(false);
    enzymeWrapper.find('.search-category').simulate('mouseOver');
    expect(enzymeWrapper.find('.SearchMenu').exists()).toEqual(true);
});
...
Run Code Online (Sandbox Code Playgroud)

.SearchMenuSearchMenu组件的className 。

toggleDropdown是切换dropdownShown标志的简单功能。

我面临的问题是,即使在调用后.simulateexpect最后一行的返回值false仍该返回true。我可以在浏览器和浏览器的“元素”选项卡中看到下拉列表,因此代码运行良好。

请让我知道是否需要更多详细信息。任何帮助将不胜感激。

javascript reactjs jestjs enzyme

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

标签 统计

enzyme ×1

graphql ×1

graphql-js ×1

javascript ×1

jestjs ×1

reactjs ×1