New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

urql-array-mutations-hook

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

urql-array-mutations-hook

Mutate arrays in response to graphql operations

latest
Source
npmnpm
Version
1.0.0
Version published
Maintainers
1
Created
Source

urql-array-mutations-hook

Mutate arrays in response to urql operations

React hook for combining the results from useQuery and useMutation. Meant for this scenario:

  • You fetch an array of objects from a graphql server
  • You send requests to modify that array on the server
  • You want to sync the local array without re-requesting the whole darn thing

Example

import { useArrayMutations } from 'urql-array-mutations-hook'
import List from './ListComponent'

function ListWithGraphql ({ options }) {
  const [array, add, remove] = useArrayMutations(options)
  // These functions mutate the array,
  // which triggers a render cycle
  const addItem = add[1]
  const removeItem = remove[1]
  return (
    <List
      items={array}
      addItem={addItem}
      removeItem={removeItem}
    />
  )
}

Options

The input for useArrayMutations is an object with these properties:

  • key

    • String | Function

    • Each array element must be an object with a unique key value. By default, it uses the id property from each object, but the key option makes this customizable. When using a function, it takes one item as input, and must return the key value for that item.

  • get

    • String | Object

    • Input for useQuery; a string can be used as shorthand for the query property

  • add

    • String

    • Input for useMutation; the operation result must include a key for the added item

  • remove

    • String

    • Input for useMutation; the operation result must include a key for the removed item

  • sort

    • Function

    • Invoked whenever the array is modified. It takes a single parameter (the array), and must return a sorted version.

Check here for examples of get, add, and remove.

Return Value

The return value is an array of arrays:

const [array, add, remove, query] = useArrayMutations(options)
  • [0] - the current array, made by combining any graphql responses

  • [1] - return value from useMutation(...options.add)

  • [2] - return value from useMutation(...options.remove)

  • [3] - return value from useQuery(...options.query)

Keywords

urql

FAQs

Package last updated on 29 Aug 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts