React - самый эффективный способ обмена данными между компонентами

        string input = "AB-PQ-EF=CD-IJ=XY-JK";
        var result = new Regex(@"(?<![A-Z])(?=([A-Z]+[=-][A-Z]+))").Matches(input)
            .Cast<Match>().Select(m => m.Groups[1].Value).ToArray();
        foreach (var item in result)
        {
            Console.WriteLine(item);
        }
0
задан Daveh0 19 January 2019 в 09:43
поделиться

1 ответ

Прежде всего, вы не должны вызывать HTTP-запрос в componentWillMount(). Вместо этого сделайте это в componentDidMount(), как указано в React docs

Ваш метод в порядке. Однако, основываясь на стратегии контейнерных / презентационных (smart / dump) компонентов, вам лучше выполнить всю выборку данных в компоненте <Dad />, а затем передать необходимые данные дочерним элементам. Таким образом, было бы намного проще отслеживать ваши запросы, и ваши данные не будут разбросаны.

Альтернативой является использование сторонних библиотек, таких как Redux или Mobx State Tree . Я не уверен насчет Mobx, но Redux сохраняет его за пределами компонентов и делает его доступным для всего приложения в контексте React. Вы должны подумать об использовании этого, так как это чрезвычайно мощный и простой в освоении

И последнее, но не менее важное, я включу здесь пару постов о шаблоне контейнера / компонентов представления:

0
ответ дан Brian Le 19 January 2019 в 09:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: