Practice2
GitbookGraphql2021-03-04
π useQuery, useLazyQuery, useStaticQuery
- no robomongo, mysql workbench tools
- const {loading, error, data} = useQuery(gql, {variables})
- similar with
useContext
π useRef, useCallback, useMemo, createContext/useContext+useReducer=global-store
const inputEl = useRef(null)
const onButtonClick = () => {
inputEl.current.value
}
<input ref={inputEl} type='text'/>
<button onClick={onButtonClick}>Click</button>
π query
- getTodo(id: ID!): Todo
- listTodos(filter: TableTodoFilterInput, limit: Int, nextToken: String): TodoConnection
π mutation
- createTodo(input: CreateTodoInput!): Todo
- updateTodo(input: UpdateTodoInput!): Todo
- deleteTodo(input: DeleteTodoInput!): Todo
π subscription
- onCreateTodo(id: ID, title: String, completed: Boolean): Todo @aws_subscribe(mutations: [βcreateTodoβ])
- onUpdateTodo(id: ID, title: String, completed: Boolean): Todo @aws_subscribe(mutations: [βupdateTodoβ])
- onDeleteTodo(id: ID, title: String, completed: Boolean): Todo @aws_subscribe(mutations: [βdeleteTodoβ])
input TableTodoFilterInput {
id: TableIDFilterInput
title: TableStringFilterInput
completed: TableBooleanFilterInput
}
input CreateTodoInput {
title: String!
completed: Boolean
}
input UpdateTodoInput {}
input DeleteTodoInput {}