Size: a a a

React — русскоговорящее сообщество

2021 March 13

NS

Nikolay Smagin in React — русскоговорящее сообщество
Nikolay Smagin
Ребят, всем привет)
Как думаете, как лучше реализовать можно этот компонент с вкладками?
Если знаете best practice, подскажите, по братски)
Сделаю я допустим меню. С событиями по клику для каждого элемента TabbedMenu.
Как дальше реализовать, возможно, следует создать состояние и его менять, в зависимости от этого, рендерить контент ниже TabbedMenu?
источник

V

Vall 🌑 in React — русскоговорящее сообщество
Nikolay Smagin
Сделаю я допустим меню. С событиями по клику для каждого элемента TabbedMenu.
Как дальше реализовать, возможно, следует создать состояние и его менять, в зависимости от этого, рендерить контент ниже TabbedMenu?
Банально

<Tabs activeTab={activeTab} onChangeActiveTab={handleChangeActiveTab} />
{activeTab === 0 && <FirstTabContent />}
И бла бла бла

Да и делать ошибки надо, а не спрашивать, так как твой мозг будет понимать где не надо делать так и так, то я бы тут сделал бы так как считаю нужным, далее получил баг - пошел поправил, пересмотрел подход, прям всю описывать всю логику с кейсами тебе не будут
источник

NS

Nikolay Smagin in React — русскоговорящее сообщество
Vall 🌑
Банально

<Tabs activeTab={activeTab} onChangeActiveTab={handleChangeActiveTab} />
{activeTab === 0 && <FirstTabContent />}
И бла бла бла

Да и делать ошибки надо, а не спрашивать, так как твой мозг будет понимать где не надо делать так и так, то я бы тут сделал бы так как считаю нужным, далее получил баг - пошел поправил, пересмотрел подход, прям всю описывать всю логику с кейсами тебе не будут
Твоя философия однозначна верна)
Но решения всё же разные есть, есть хорошие, а есть такие, на которые смотреть противно, права на такие ошибки я не имею, поэтому спрашиваю в общем, по какому принципу делать этот компонент. А ошибки и баги - это будет в любом случае, мне нужен только фундамент решения
источник

V

Vall 🌑 in React — русскоговорящее сообщество
Nikolay Smagin
Твоя философия однозначна верна)
Но решения всё же разные есть, есть хорошие, а есть такие, на которые смотреть противно, права на такие ошибки я не имею, поэтому спрашиваю в общем, по какому принципу делать этот компонент. А ошибки и баги - это будет в любом случае, мне нужен только фундамент решения
Ну вот я фундамент написал

А права на ошибки всегда есть, даже у самых опытных специалистов ибо мы как бы люди🤔
источник

SK

Semyon Krutolevich in React — русскоговорящее сообщество
Nikolay Smagin
Сделаю я допустим меню. С событиями по клику для каждого элемента TabbedMenu.
Как дальше реализовать, возможно, следует создать состояние и его менять, в зависимости от этого, рендерить контент ниже TabbedMenu?
Состояние значения и через юз эффект менять контент под значением
источник

NS

Nikolay Smagin in React — русскоговорящее сообщество
Vall 🌑
Ну вот я фундамент написал

А права на ошибки всегда есть, даже у самых опытных специалистов ибо мы как бы люди🤔
В моем случае, это право конечно есть у меня, но я его игнорирую, так как придется переписывать и делать двойную работу, и задерживать проект, а этого не хочется делать, так как сроки небольшие, спасибо за ответ)
источник

V

Vall 🌑 in React — русскоговорящее сообщество
Nikolay Smagin
В моем случае, это право конечно есть у меня, но я его игнорирую, так как придется переписывать и делать двойную работу, и задерживать проект, а этого не хочется делать, так как сроки небольшие, спасибо за ответ)
Нез 🤝
источник

NS

Nikolay Smagin in React — русскоговорящее сообщество
Semyon Krutolevich
Состояние значения и через юз эффект менять контент под значением
Спасибо
источник

SK

Semyon Krutolevich in React — русскоговорящее сообщество
Nikolay Smagin
Спасибо
💪
источник

AQ

A Q in React — русскоговорящее сообщество
я что то туплю. Подскажите
let [state,setState] = useState(
   [card1,card2,card3,card4]
 )
 const spin = () =>{
   let rnd = Math.floor(Math.random()*4)
   setState(...)
 }
Что писать в setState чтоб поменять значение элемента массива?
источник

АМ

Андрей Маргиев... in React — русскоговорящее сообщество
A Q
я что то туплю. Подскажите
let [state,setState] = useState(
   [card1,card2,card3,card4]
 )
 const spin = () =>{
   let rnd = Math.floor(Math.random()*4)
   setState(...)
 }
Что писать в setState чтоб поменять значение элемента массива?
А ты что хочешь получить в итоге?
источник

M

Martin 马丁 in React — русскоговорящее сообщество
Добрый день. А как правильно добавить в компонент Link на другой компонент? Сейчас есть App с browser router, switch и т.д. Внутри children компонентов есть div ссылки. Я добавил для них Link, но они не работают.
источник

M

Martin 马丁 in React — русскоговорящее сообщество
Link я импортировал внутри компонентов
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
A Q
я что то туплю. Подскажите
let [state,setState] = useState(
   [card1,card2,card3,card4]
 )
 const spin = () =>{
   let rnd = Math.floor(Math.random()*4)
   setState(...)
 }
Что писать в setState чтоб поменять значение элемента массива?
источник

AQ

A Q in React — русскоговорящее сообщество
Андрей Маргиев
А ты что хочешь получить в итоге?
Чтоб в рандомном элементе массива было другое значение.как это записать в  setState не пойму
источник

A

Aleksander in React — русскоговорящее сообщество
Martin 马丁
Добрый день. А как правильно добавить в компонент Link на другой компонент? Сейчас есть App с browser router, switch и т.д. Внутри children компонентов есть div ссылки. Я добавил для них Link, но они не работают.
Роутеры  то покажи)
источник

АМ

Андрей Маргиев... in React — русскоговорящее сообщество
A Q
Чтоб в рандомном элементе массива было другое значение.как это записать в  setState не пойму
Я бы что-то такое сделал, может не лучшее решение

setState([...state.slice(0, rnd),newValue, ...state.slice(rnd + 1)])

То есть ты вставляешь новое значение на место рандомного элемента массива, забирая старые значения до и после него
источник

KP

Kraft Punk in React — русскоговорящее сообщество
источник

KP

Kraft Punk in React — русскоговорящее сообщество
у меня такой вопрос: хочу по клику на кнопку развернуть во весь экран карту. Делаю массив классов, который потом соединяю методом join(' '). при клике на кнопку в массив залетает новый класс, который отвечает за разворачивание во весь экран. стейт обновляется, класс залетает, но почему-то не меняется на сайте, может кто помочь с этим?
источник

KP

Kraft Punk in React — русскоговорящее сообщество
ну и класснейм не меняется естественно
источник