制作一个使用搜索栏从搜索结果中获取特定位置的所有用户的项目。为我的项目使用graphql和react。获取错误,表示getUserlocation不是与POST一起使用的函数http://localhost:3000/graphql400(错误请求)
我肯定我写错了函数,但找不到它的示例。
搜索enu.js
import { useQuery } from "@apollo/client";
import { QUERY_GET_LOCATIONS } from "../util/queries";
export function useUserLocation() {
const getUserLocation = useQuery(QUERY_GET_LOCATIONS);
const getLocation = async (location) => {
try {
if (!location) {
throw new Error("No users with that location");
}
return await getUserLocation({ variables: { location } });
} catch (error) {
console.log(error);
}
};
return getLocation;
}
<代码>查询。js
import { gql } from "@apollo/client";
export const QUERY_GET_LOCATIONS = gql`
query getUserLocation {
getUserLocation {
_id
username
}
}
`;
搜索enu.js
import React, { useState } from "react";
import {
Jumbotron,
Container,
Col,
Form,
Button,
Card,
CardColumns,
} from "react-bootstrap";
// import Auth from "../utils/auth";
import { QUERY_GET_LOCATIONS } from "../util/queries";
import { useQuery } from "@apollo/client";
const SearchedUsers = () => {
// create state for holding returned google api data
const [searchedUsers, setSearchedUsers] = useState([]);
// create state for holding our search field data
const [searchInput, setSearchInput] = useState("");
const { getLocation } = useQuery(QUERY_GET_LOCATIONS);
// create method to search for books and set state on form submit
const handleFormSubmit = async (event) => {
event.preventDefault();
if (!searchInput) {
return false;
}
try {
const response = await getLocation(searchInput);
if (!response.ok) {
throw new Error("something went wrong!");
}
const { items } = await response.json();
const userData = items.map((user) => ({
userId: user.id,
userName: user.userName || ["No user to display"],
}));
setSearchedUsers(userData);
setSearchInput("");
} catch (err) {
console.error(err);
}
};
return (
<>
<Jumbotron fluid className="text-light bg-dark">
<Container>
<h1>Search for Location!</h1>
<Form onSubmit={handleFormSubmit}>
<Form.Row>
<Col xs={12} md={8}>
<Form.Control
name="searchInput"
value={searchInput}
onChange={(e) => setSearchInput(e.target.value)}
type="text"
size="lg"
placeholder="Search for a location"
/>
</Col>
<Col xs={12} md={4}>
<Button type="submit" variant="success" size="lg">
Submit Search
</Button>
</Col>
</Form.Row>
</Form>
</Container>
</Jumbotron>
<Container>
<h2>
{searchedUsers.length
? `Viewing ${searchedUsers.length} results:`
: "Search for a location to begin"}
</h2>
<CardColumns>
{searchedUsers.map((user) => {
return (
<Card key={user.userId} border="dark">
<Card.Body>
<Card.Title>{user.userName}</Card.Title>
<p className="small">Bio: {user.bio}</p>
</Card.Body>
</Card>
);
})}
</CardColumns>
</Container>
</>
);
};
export default SearchedUsers;
嗯,useQuery
返回三件事加载,错误
const {loading, error, data} = useQuery(QUERY_GET_LOCATIONS);
现在您可以使用控制台了。记录(数据)并检查您得到的响应。
TypeError:Res.Status不是auth的函数(D:\Project\Web Application\Learning React\Mern Stack\Middleware\auth.js:17:9)。我得到了这个错误。代码如下所示。 错误截图
问题内容: 我试图编写登录到网站的节点功能,但无法使其正常工作。我试图等待页面使用加载功能 这是我到目前为止的内容: 当我运行该函数时,我收到错误消息。这是怎么回事,我想念什么? 问题答案: 为了与其他硒语言绑定的一致性, 并已被弃用。 如果您使用,则应尝试使用代替来确定元素是否存在,如下所示: 或者,如果您要等到欲望元素出现,则应尝试使用以下方法:
我试图使用rxjs输入自动完成的目的,但我一直得到这些错误TypeError:terms.debounce时间不是一个函数,即使我设置这些导入'rxjs/操作员/DebounceTime'; 我称之为的函数是:
在Angular2中尝试一个代码,它的HTML正在运行,但Angular代码没有执行,它表示我从HTML传递的值不是函数。请帮忙! HTML:app.html - 我正在尝试显示学生的详细信息。我在angular app.component.ts文件中有一个项目列表,我在HTML页面上调用它,工作正常。但是当我将单击事件的值传递给 app.component.ts 时,它会给出错误并在控制台上显示
问题内容: 我试图要求一个文件,然后将其传递给var。我正在按照本教程创建身份验证系统。编写server.js文件并尝试编译后,出现bson错误,因此我更改了需要它的发行版本的猫鼬代码。 这是我的代码和错误: server.js 错误 我已经读到这通常意味着requireJS无法正确加载,但我不知道为什么或如何修复它。 根据评论进行编辑: 根据要求,这是 问题答案: 我认为这意味着在您的模块中未将
在我的项目中,我创建了一个负责登录的组件。它返回一个表单并包含一个名为的验证方法。当前该方法如下所示: 我想让整个事情看起来更好,并用两个三元运算符和一个if语句切换了3个if语句: 但是,只要我尝试此操作,就会出现以下错误: TypeError:e.preventDefault(…)不是函数 我不知道在这里使用三元是如何影响事件对象的。特别是因为我在寄存器组件中以类似的方式完成了它,并且没有发生