1. Задача: Является ли строка палиндромом?
function isPalindrome(value) {
const normalStr = value.replace(/[^A-Z0-9]/ig, "")
.toLowerCase()
.split("")
.reverse()
.join("");
return normalStr === value.replace(/[^A-Z0-9]/ig, "")
.toLowerCase();
}2. Задача: Скорректировать логику, убрать лишние перерендеры.
Изначальный код
import { useEffect, useState } from "react";
export default function App() {
const [counter, setCounter] = useState(8);
const increment = () => {
setCounter(counter + 1);
};
const decrement = () => {
setCounter(counter - 1);
};
const clear = () => {
setCounter(8);
};
return (
<div className="App">
<CounterView counter={counter} />…