Skip to content

Instantly share code, notes, and snippets.

View sdolidze's full-sized avatar

Sandro Dolidze sdolidze

View GitHub Profile
@sdolidze
sdolidze / AddMussic.js
Last active July 19, 2019 13:16 — forked from SleamJ/AddMussic.js
addmusicmutation
import React, { useState /* Component */ } from 'react'
import { useQuery, useMutation } from 'react-apollo-hooks'
import { graphql, compose } from 'react-apollo'
//Queryes importing
import { getArtistsQuery, addMussicMutation, getMussicsQuery } from '../Queries/queries'
//import Semantics
import { Button, Form, Modal, Icon } from 'semantic-ui-react'
@sdolidze
sdolidze / hooks.js
Last active June 11, 2019 14:31
Hooks
import { useEffect, useState } from 'react';
function Hello() {
const [count, setCount] = useState(0);
useEffect(() => {
console.log('This is same as componentDidMount.');
console.log('This code will run only once in the lifecycle.');
return () => {
import React from 'react';
export interface PrivateRouteProps {
component: React.FC<any>;
}
function PrivateRoute(props: PrivateRouteProps) {
const { component: Component, ...rest } = props;
return (
function App() {
log('renderApp');
const [count, setCount] = useState(0);
const [items, setItems] = useState(getInitialItems(10));
const inc = useCallback(() => setCount(count + 1));
return (
<div>
import React, { useState } from 'react';
import { render } from 'react-dom';
import { log, getInitialItems } from './utils';
const List = React.memo(({ items, inc }) => {
log('renderList');
return items.map((item, key) => (
<div key={key} style={{ display: 'flex' }}>
<div>item: {item.text}</div>
<button onClick={inc}>inc</button>
const List = React.memo(({ text, inc }) => {
console.log('renderList');
return repeat(1000, key => (
<div key={key} style={{ display: 'flex' }}>
<div>{text}</div>
<button onClick={inc}>inc</button>
</div>
));
});
const List = React.memo(({ text, inc }) => {
console.log('renderList');
return repeat(1000, key => (
<div key={key} style={{ display: 'flex' }}>
<div>{text}</div>
<button onClick={inc}>inc</button>
</div>
));
});
const List = React.memo(({ text, inc }) => {
console.log('renderList');
return repeat(1000, key => (
<div key={key} style={{ display: 'flex' }}>
<div>{text}</div>
<button onClick={inc}>inc</button>
</div>
));
});
const List = React.memo(({ text, inc }) => {
console.log('renderList');
return repeat(1000, key => (
<div key={key} style={{ display: 'flex' }}>
<div>{text}</div>
<button onClick={inc}>inc</button>
</div>
));
});
@sdolidze
sdolidze / level1.js
Last active March 4, 2019 03:11
Hooksology: Does it memoize?
const List = React.memo(({ text }) => {
console.log('renderList');
return repeat(1000, key => <div key={key}>{text}</div>);
});
export default function App() {
console.log('renderApp');
const [count, setCount] = useState(0);