**Client's Browser**
|
| DNS
|
v
**Website Server**
|
<ul> | |
<li>Test</li> | |
<li class="group"> | |
<button>Proba</button> | |
<div | |
class="grid grid-rows-[0fr] transition-[grid-template-rows] duration-700 group-hover:grid-rows-[1fr] [&>*]:overflow-hidden"> | |
<ul class="row-[1_/_span_2] space-y-2 [&>li:first-child]:pt-2 [&>li:last-child]:pb-2"> | |
<li>Proba submenu</li> | |
<li>Proba submenu</li> | |
<li>Proba submenu</li> |
// pages/index.js
import Link from 'next/link'
export default function HomePage() {
return (
<div>
<h1>Welcome to our news site!</h1>
<ul>
Do you know that if you call setIndexes([...indexes, index]);
too fast.. one after another time.. its possible only to update the array, but not to increment it?
The problem you're facing may be due to the asynchronous nature of the setState
function in React. When using the useState
hook, the setState
function doesn't update the state immediately, but during the next render of the component.
Your logic for adding values to the setIndexes
array can looks correct but.. However, when you use setIndexes([...indexes, index])
, you're actually accessing the previous value of uploadedFiles
, which may not be updated yet.
To solve this issue, you can use the functional form of setState
, where you take the previous value of the indexes
array and add the new value to it. Here's an example:
setIndexes((prevIndexes) => [...prevIndexes, index]);
public: The public access modifier in TypeScript does not result in any changes during compilation. This is because in JavaScript, all class members are by default considered public. Therefore, a public member in a TypeScript class remains unchanged in the resulting JavaScript code.
// Example TypeScript code:
За да използвате проверка за логнат потребител за всяка страница в Next.js, можете да използвате High Order Component (HOC) или wrapper component, който да включва функцията getServerSideProps
. Така ще можете да използвате тази проверка на всяка страница, която искате да бъде достъпна само за логнати потребители.
Ето пример как може да създадете HOC, който да включва getServerSideProps
за проверка на потребителското състояние:
import { useRouter } from 'next/router';
export const withAuth = (WrappedComponent) => {
const Wrapper = (props) => {
const router = useRouter();
PHP по подразбиране използва един процес за всяка заявка за уебстраница. Този процес съдържа единствена нишка за обработка на заявката и това е единствената нишка, която може да използва PHP скрипта.
Node.js от друга страна използва един процес с множество нишки за обработка на заявки. Тези нишки са създадени от Node.js за да могат да обработват заявки едновременно, като всеки потребителски заявка се обработва от отделна нишка.
async function getResp() { | |
try { | |
const authors = await getPromise(true); | |
console.log(authors, 'Try') | |
} catch(e) { | |
console.log(e, 'Catch') | |
} | |
} | |
function getPromise(resolveIt) { |
// In Browser - Window Object | |
// In Node - {} | |
console.log(this) | |
// In Browser - Window Object | |
// In Node - Node Object | |
function globalScoped() { | |
console.log(this) | |
} | |
globalScoped() |
import React, { useState, useEffect } from 'react'; | |
function App() { | |
const [count, setCount] = useState(0); | |
// execute each time when click the button | |
console.log(Math.random()) | |
useEffect(() => { | |
// execute each time when click the button |