Usage example
const LazyListItem = () => {
const [isInView, ref] = useIntersectionObserver<HTMLDivElement>();
return (
<div ref={ref}>
{isInView ? (
f1 |
dsdf |
import { useEffect, useState } from 'react'; | |
export const useIsOnline = () => { | |
const [online, setOnline] = useState<boolean>(true); | |
const checkOnlineStatus = () => setOnline(navigator.onLine); | |
useEffect(() => { | |
window.addEventListener('online', checkOnlineStatus); | |
window.addEventListener('offline', checkOnlineStatus); |
Usage example
const LazyListItem = () => {
const [isInView, ref] = useIntersectionObserver<HTMLDivElement>();
return (
<div ref={ref}>
{isInView ? (
const Table = ({data }) => { | |
if(data.length === 0) return null; | |
const rows = Object.keys(data[1]); | |
return ( | |
<table> | |
<thead> | |
<tr> | |
{rows.map(key => ( | |
<th>{key}</th> |
import { PACKAGE_NAME } from 'src/constants'; | |
const metaMiddleware = ({ getState }) => next => (action) => { | |
const store = getState(); | |
const user = store[PACKAGE_NAME].user; | |
const transport = store[PACKAGE_NAME].transport; | |
next({ | |
...action, | |
meta: { |
import React, { useState, useEffect } from 'react'; | |
export default function useListIterate(items, interval = 3000) { | |
const [item, setItem] = useState(items[0]); | |
useEffect(() => { | |
let index = 0; | |
const timer = setInterval(() => { | |
setItem(items[index]); |
#!/usr/bin/env bash | |
set -e | |
# Usage: | |
# | |
# bash ./scripts/git-files COMMIT_HASH | |
# | |
# Usage in script: | |
# |
import React, { useEffect } from 'react'; | |
import ReactDOM from 'react-dom'; | |
const portalTarget = document.getElementById('portal'); | |
const Portal = ({ children }) => { | |
const element = document.createElement('div'); | |
useEffect(() => { | |
portalTarget.appendChild(element); |
#!/bin/bash | |
# Usage: | |
# ./scripts/git-files d304b82 | |
# | |
# Or in script: | |
# | |
# if [ `sh ./scripts/git-files d304b82` -gt 0 ]; | |
# then | |
# echo "matches"; |