• Как сделать такое выпадающее меню на React?

    MrYogurt
    @MrYogurt
    QnaTwitt, Я вам вполне понятный пример предоставил, по аналогии, пройдитесь по массивам, как вам надо и соберите то, что надо. Метод поиска я тоже добавил только как образец, если нужен поиск подстроки, то можно загуглить, написан миллиард раз на любом языке.
  • Как сделать такое выпадающее меню на React?

    MrYogurt
    @MrYogurt
    QnaTwitt, Задача у вас очень размыта, вы не сформулировали внятное тз и структуру данных. Вот написал для примера, как это происходит.

    const categoriesList = {
        Business: [
            {id: 'accounting', title: 'Accounting'},
            {id: 'financial', title: 'Financial'}
        ],
        Cloth: [
            {id: 'boutique', title: 'Boutique'},
            {id: 'privateSale', title: 'Private sale'},
            {id: 'financial', title: 'Financial'}
        ]
    }
    
    const searchInList = (categories, searchString) => {
        const result = {}
    
        Object.entries(categories).forEach((category) => {
            const categoryName = category[0]
            const subCategories = category[1]
    
            subCategories.forEach(subCategory => {
                if (subCategory.title.toLowerCase().startsWith(searchString.toLowerCase())) {
                    if (result[categoryName]) {
                        return result[categoryName].push(subCategory)
                    }
    
                    result[categoryName] = [subCategory]
                }
            })
        })
    
        return result
    }
    
    console.log('check:', searchInList(categoriesList, 'financial'))
  • Как сделать такое выпадающее меню на React?

    MrYogurt
    @MrYogurt
    QnaTwitt, если вам нужен именно поиск по вложенным элементам массивов, то это уже совсем другая задача, тут просто нужно написать этот алгоритм, что как бы не особо имеет отношения к изначальному вопросу. Можно использовать например flat() и после того, как вложенные элементы выйдут на нулевой уровень, начинать поиск, либо сделать чуть посложнее и объединить поиск вместе с прохождением вложенных массивов, тут уже зависит от задачи.
  • Как взаимодействовать с iframe google captcha?

    MrYogurt
    @MrYogurt Автор вопроса
    Как ответ принял, но к сожалению гугл довольно быстро блочит автоматику и по итогу бесполезно.
  • Как взаимодействовать с iframe google captcha?

    MrYogurt
    @MrYogurt Автор вопроса
    Благодарю, это уже выглядит полезным, но в ближайшее время протестировать не смогу, позже приму ответ, если поможет.
  • Как взаимодействовать с iframe google captcha?

    MrYogurt
    @MrYogurt Автор вопроса
    Vladislav Orlov, я знаю как получить задачу, в плане логики все уже готово в голове, нужно просто достучаться до элементов самой капчи.
  • Как взаимодействовать с iframe google captcha?

    MrYogurt
    @MrYogurt Автор вопроса
    Vladislav Orlov, так я написал, что решение капчи я уже сделал, осталось просто накликать и вбить результат в инпут. Мне не нужен сервис, который будет что то делать за меня, еще и платно.
  • Как взаимодействовать с iframe google captcha?

    MrYogurt
    @MrYogurt Автор вопроса
    Vladislav Orlov, я возможно понял, что вы имели ввиду под оплатой только решений. Типо перенаправить задачи на свою апишку. Но так к сожалению не получится, в примерах кода они просто поднимают капчу по ссылке странцы в прокси сервер и обратно приходит уже результат и возвращаемся к проблеме, что я не знаю, как мне вытащить капчу для взаимодействия.
  • Как взаимодействовать с iframe google captcha?

    MrYogurt
    @MrYogurt Автор вопроса
    Vladislav Orlov, цитата: "Платите за каждую капчу. Минимальное пополнение - 1 цент. Никакой абонентской платы"
  • Как взаимодействовать с iframe google captcha?

    MrYogurt
    @MrYogurt Автор вопроса
    Так я не хочу платить за чужой сервис и если кто то смог это сделать, то и для меня должен быть способ.
  • Как взаимодействовать с iframe google captcha?

    MrYogurt
    @MrYogurt Автор вопроса
    Alexander Lashchevsky, но чисто в теории я могу использовать сайпресс и просто написать спам автотест, т.е. просто сэмулирую ручной ввод. Возможно просто кто то не слишком задается этим вопросом? Лично мне просто надоело искать велосипеды и гидранты раза по 3, когда вынужденная мера сбрасывать кэш сайта и часто его рефрешить.
  • Откуда ошибка is not a function?

    MrYogurt
    @MrYogurt Автор вопроса
    Владимир, задание мое, а "мой" код понятие философское. А проблему решил с подсказки другого человека и она оказалась в моем затупе. В изначальном примере в Show, у меня в рендере еще один компонент AddElement, в него и нужно было прописать бинд, чтобы создать связь, а я ее сделал не туда. Итог:

    class Show extends React.Component {
    render() {
            return (
                <div>
                <div>
                    <ElementList opNames={this.state.opNames} />
                </div>
                    <div>
                        <AddElement AddBrand={this.AddBrand.bind(this)}/>
                    </div>
                </div>
            );
        }
    }


    Использовать очередной PropTypes конечно бы хорошо, но проблема в том, что я только учусь и от всех этих "лучше бы использовать" совсем не плавно едет крыша. Я обещаю обязательно этому поучиться, но сейчас разбираюсь просто в базисе и лишняя каша мне ни к чему.
  • Откуда ошибка is not a function?

    MrYogurt
    @MrYogurt Автор вопроса
    Владимир, я везде уже стрелки сделал, в части функций было действительно как надо, но это просто разница в гайдах, на которую я даже внимания не обратил и делал бинды просто везде. Все приложение закинул сюда https://codesandbox.io/s/heuristic-galileo-4gnmw?f...
  • Откуда ошибка is not a function?

    MrYogurt
    @MrYogurt Автор вопроса
    Рекомендации понялпринял. А каким образом на данный момент мне передать AddBrand? Мне казалось, что бинд позволяет получить доступ через пропсы в других компонентах. Вы не удивляйтесь, что я отмороженный, просто только начал вникать.