Где лучше хранить данные?
1. Забудьте о таких подходах в React. Лишняя бесполезная сущность. Лучше вынести в отдельный модуль сами запросы к API.
2. Если используете голый API React, то это самый верный путь, так как при изменении state произойдет обновление компонента и его потомков.import React, { Component } from 'react';
import { Child } from './Child';
import { getSomeData } from './api';

class Parent extends Component {
  state = {
    data: [],
  };

  componentDidMount() {
    getSomeData.then(data => this.setState({ data });
  }

  render() {
    return <Child data={this.state.data} />;
  }
}
Если будете делать класс, в котором будут храниться данные и там get/set - то при set, вам нужно будет оповещать всех нуждающихся, что данные изменились.
Если в стейте родителя, то при изменении в нем, все дети итак перерисуются (и в props окажутся новые данные).