Sun May 19 2024 07:45:03 GMT+0000 (Coordinated Universal Time)
Saved by @d2f_coder #react.js
import React from 'react' import { connect } from 'react-redux' const TodoList = ({ todos }) => ( <ul> {todos.map(todo => <li key={todo.id}>{todo.text}</li>)} </ul> ) const mapStateToProps = state => ({ todos: state.todos }) export default connect(mapStateToProps)(TodoList)
#react.js #redux
const [ user, setUser ] = useState(JSON.parse(localStorage.getItem('profile'))); //convert to object const logout = () =>{ dispatch({type: 'LOGOUT'}); history.push("/"); setUser(null); } useEffect(()=>{ const token = user?.token; //JWT check if token expired if(token){ const decodedToken = decode(token) if(decodedToken.exp*1000 < newDate().getTime()) logout(); } setUser(JSON.parse(localStorage.getItem('profile'))) },[location])
##javascript ##js #next.js #react.js
const [animateHeader, setAnimateHeader] = useState(false) useEffect(() => { const listener = () => window.scrollY > 140 ? setAnimateHeader(true) : setAnimateHeader(false) window.addEventListener('scroll', listener) return () => { window.removeEventListener('scroll', listener) } }, []) // Example usage with TailwindCSS: <div className={`bg-header/75 transition duration-500 ease-in-out ${animateHeader && 'bg-header/[0.95]'}`}>...</div>
#css #react.js
#react.js #javascript #checkboxtoggle
function App() { const [checked, setChecked] = useState(false); const toggleChecked = () => setChecked(value => !value); return ( <input type="checkbox" checked={checked} onChange={toggleChecked} /> ); }
#javascript #react.js
// making all uppercase city.toUpperCase(); //removing spaces and making all lowercase city = city.trim().toLowerCase(); //capitalizing the first letter cityCapitalized = city.charAt(0).toUpperCase() + city.slice(1);
#react.js
onClick={() => window.open(url, "_blank")}
import { useEffect } from 'react'; export const useClickOutside = (ref, setIsModalOpen) => { useEffect(() => { function handleClickOutside(event) { if (ref.current && !ref.current.contains(event.target)) { setIsModalOpen(false) } } document.addEventListener("mousedown", handleClickOutside); return () => { document.removeEventListener("mousedown", handleClickOutside); }; }, [ref]); };
this.state = { zombies:[ { name: 'Zombie' },{ name: 'Zombie' } { name: 'Zombie' } { name: 'Zombie' } { name: 'Zombie' } ] } render() { return ( <div> { this.state.zombies.map(zombie => <h1>{zombie.name}</h1>) } </div> ) }
import React, { useState, useEffect } from 'react'; function Example() { const [count, setCount] = useState(0); // Similar to componentDidMount and componentDidUpdate: useEffect(() => { // Update the document title using the browser API document.title = `You clicked ${count} times`; }); return ( <div> <p>You clicked {count} times</p> <button onClick={() => setCount(count + 1)}> Click me </button> </div> ); }
render() { const elements = ['one', 'two', 'three']; const items = [] for (const [index, value] of elements.entries()) { items.push(<li key={index}>{value}</li>) } return ( <div> {items} </div> ) } ////////// or: render: function() { const elements = ['one', 'two', 'three']; return ( <ul> {elements.map((value, index) => { return <li key={index}>{value}</li> })} </ul> ) }
const useStyles = makeStyles((theme) => ({}));
<Grid container><Grid item></Grid></Grid>
import { createMuiTheme } from '@material-ui/core/styles'; // A custom theme for this app const theme = createMuiTheme({}); export default theme;
#react.js #setstate
this.setState({ name: 'Matt' }, () => console.log(this.state.name))
Copy this HTML code:
Preview:
open_in_newInstructions on embedding in Medium
Comments