Вы не можете добавить App
и LoadingBar
как дочерние элементы к Provider
, потому что ожидается, что у них будет только один дочерний элемент, который, безусловно, является вашим App
компонентом, на самом деле это не подходящее место для добавления LoadingBar
ввсе.
Я только что изменил index.js
следующим образом:
import React, { Component } from 'react';
import { render } from 'react-dom';
import Hello from './Hello';
import './style.css';
import LoadingBar from "react-redux-loading-bar";
import React from 'react'
import { render } from 'react-dom'
import { createStore, applyMiddleware } from 'redux'
import { Provider } from 'react-redux'
import thunk from 'redux-thunk'
import { logger } from 'redux-logger'
import reducer from './reducers'
import App from "./components/App"
const store = createStore(
reducer,
applyMiddleware(thunk, logger)
)
render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
)
App.js
:
import React from 'react'
// import ChannelsField from './ChannelsField'
// import RecentChannelItem from './RecentChannelValues'
// import Button from '../containers/Button'
// import TopNews from '../containers/TopNews'
const App = () => (
<div>
<h1> Hello </h1>
</div>
)
export default App;
И компонент отображается, и я вижуЗдравствуйте.
Обычно такие элементы, как LoadingBar
, используются внутри ваших компонентов для отображения, когда вы ожидаете завершения асинхронных задач (например, выборка данных из API)
Поэтому я предлагаю импортировать ихиспользуя оператор import
внутри App
(или любого другого компонента) и используйте его.