sliceHandler
передаёте div-обёртку, а внутри функции думаете, что это какой-то его ребёнок.key
через атрибут html-тега. Значение key
даже через props
нельзя получить, не говоря уже про html.dispatch({type:'product/ProductAdd'
case 'product/ProductEdit':
inputValue.id
в момент диспатча. Может, значение не заполняется, а может там идёт конвертация числа в строку, например, и строгое сравнение в редьюсере не проходит. а зачем мне это?Чтобы у вас заработал серверный рендеринг, это одно из главных слабых мест SPA. «Сервисы с многомиллионными списками пользователей» готовы за этот функционал платить дополнительными серверными мощностями:
Next.js is the React framework for the web, enabling you to create full-stack web applications. Built on top of React, it powers some of the largest ecommerce sites in the world, like Walmart, Target, Ebay, Nike, Doordash, and is even used in parts of Amazon.com.https://vercel.com/guides/building-ecommerce-sites...
const Comp = () => (
<div>
<ul>
constants.map((item) => (
<li>
<h2>Cap1</h2>
<p>Text1</p>
</li>
))
</ul>
</div>
);
localhost:3000/clips?page=2
должен работать как ожидается. const [mode, setMode] = useState(null);
const handleDay = () => {
setMode(mode === `day` ? null : `day`);
};
const handleWeek = () => {
setMode(mode === `week` ? null : `week`);
};
const handleMonth = () => {
setMode(mode === `month` ? null : `month`);
};
const handleYear = () => {
setMode(mode === `year` ? null : `year`);
};
<кнопка onClick={handleDay}>Day</кнопка >
<кнопка onClick={handleWeek}>Week</кнопка >
<кнопка onClick={handleMonth}>Month</кнопка >
<кнопка onClick={handleYear}>Year</кнопка >
{mode === `day` && <div> <Components1/> </div>}
{mode === `week` && <div> <Components2/> </div>}
{mode === `month` && <div> <Components3/> </div>}
{mode === `year` && <div> <Components4/> </div>}
const handleDay = () => {
setVisibleDay(!visibleDay);
setVisibleWeek(false);
setVisibleMonth(false);
setVisibleYear(false);
};
const images = {
red: smoke1Red,
blue: smoke1Blue,
brown: smoke1Brown,
}
...
<img src={images[color] || smoke1Gray} />
return arr.filter(...).map(...)
/menu/:id([1-9][0-9]*)
(?!0)
вам и вашим коллегам при следующей встрече с этим кодом, наверняка, придётся заново гуглить, а обычные группы понятны сразу.