Не могу навесить Ripple Effect

147
19 мая 2019, 18:40

недавно начал изучать ReactJS(новичек) и столкнулся с маленькой проблемкой...

Я пытаюсь навесить на элементы меню эффект Ripple из MDC, но никак не получается...

Делаю по гайду react-ripple: Ссылка, но не могу побороть одну ошибку... You must call initRipple from the element's ref prop to initialize the adapter for withRipple. Я по сути понимаю что не так, но не получается исправить...

Возможно уже что то в коде намудрил... Насколько я понимаю проблема заключается в переборке данных...

Вот код Ripple.js

import React, { Component } from 'react';
import axios from 'axios';
import {NavLink} from 'react-router-dom';
import withRipple from '@material/react-ripple';
const MyInput = (props) => {
    const {
        rippleActivator
    } = props;
    return (
        <input ref={rippleActivator}/>
    );
}
class Ripple extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            modules: []
        };
        const {
            initRipple,
        } = this.props;
        this.rippleActivator = React.createRef();
        this.init = (el) => {
            this.props.initRipple(el /* surface */, this.rippleActivator.current /* activator */);
        }
    }
    componentDidMount() {
        axios.post('/api/modules', {
            'jsonrpc': '2.0'
        })
            .then(response => {
                this.setState({ modules: response.data.result })
            })
            .catch(function (error) {
                console.log(error);
            });
    }

    render() {
        const {modules} = this.state;
        console.log(this);
        var MenuList = modules.map(function(item, index) {
            return (
                <div ref={this.init} key={index}>
                    <NavLink to={'/modules/' + item.name} className="item ripple-component" activeClassName="active">
                        {item.label}
                        <MyInput rippleActivator={this.rippleActivator} />
                    </NavLink>
                </div>
            )
        });
        return (
            <div className="menu">
                {MenuList}
            </div>
        )
    }
}
const MyRippledComponent = withRipple(Ripple);
export default MyRippledComponent;
READ ALSO
NuxtJS &amp; WordPress

NuxtJS & WordPress

Существует вопрос, каким образом можно реализовать совместимость WordPress и NuxtJS? Может быть статейки какие-то или видео на youtube? Может у кого-то...

140
не работает код из документации. почему?

не работает код из документации. почему?

Код, приведенный ниже, взят из доков, но в ответе приходит пустая строка:

148
Конвертация CSV в XLSX с помощью node.js

Конвертация CSV в XLSX с помощью node.js

Конвертирую CSV в XLSX на nodejs с помощью библиотеки ExcelJS (украдено отсюда: https://www

171
apex как задать из js или pl/sql другого элемента process settings attribute?

apex как задать из js или pl/sql другого элемента process settings attribute?

Я уже загружаю первую страницу xlsУ меня есть file_browser, button и процесс

167