Skip to content

Instantly share code, notes, and snippets.

View buglessir's full-sized avatar

Mohammad Esmaeilzadeh buglessir

  • Iran, Tehran
View GitHub Profile
@buglessir
buglessir / styled-component-global-styles.js
Created March 5, 2022 13:31
An example of GlobalStyles with styled-components
import { createGlobalStyle } from 'styled-components';
const GlobalStyles = createGlobalStyle`
body {
overflow-y: hidden;
}
`;
const PageWithoutScrollbar = () => {
return (
@buglessir
buglessir / react-query-object.js
Created February 28, 2022 07:32
An example for the Query Object in react-query
// (1) ----------> Query Object for the useQuery();
import { fetchListFunction } from './services';
export const FetchListObj = (key, config) => ({
queryKey: ['FetchList', key],
queryFn: () => fetchListFunction,
placeholderData: {
list: []
},
@buglessir
buglessir / react-memory-leaks.js
Created February 20, 2022 09:12
3 ways to fix Memory Leaks in React web application
// 1) Using Boolean flag:
const [value, setValue] = useState('');
useEffect(() => {
let isMounted = true;
fetchValue().then(() => {
if (isMounted) {
setValue('done!'); // no more error
}
});
import React from 'react';
import { render } from 'react-dom';
import { QueryClientProvider, QueryClient, useQuery } from 'react-query';
const URL = 'https://randomuser.me/api/?results=5&inc=name';
const One = () => {
const { error, data, isLoading, refetch } = useQuery('test', () =>
fetch(URL).then(response => response.json())
);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
img{
width: 150px;
height: auto;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
img{
width: 150px;
height: auto;
import React from 'react';
import { render } from 'react-dom';
import axios from 'axios';
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
selectedFile: null,
percent: 0
import React from 'react';
import { render } from 'react-dom';
class App extends React.Component {
onChangeFile = (e) => {
this.setState({
selectedFile: e.target.files[0]
});
}
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter, Switch, Route, Link, Redirect } from 'react-router-dom';
function Auth() {
return false;
}
const Admin = () => (
<h1>This is Admin page</h1>
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter, Switch, Route, Link } from 'react-router-dom';
const NotFound = () => (
<h1>404 - Page NotFound !</h1>
)
const Home = () => (
<h1>Home</h1>