admin管理员组文章数量:1331941
My project need loader spin to use for every ponent when get data from database but I don't know how to do. For now I just have pre-loader for open the page at first time (CSS).
My project need loader spin to use for every ponent when get data from database but I don't know how to do. For now I just have pre-loader for open the page at first time (CSS).
Share Improve this question asked Jan 12, 2018 at 10:59 BCTBCT 752 silver badges5 bronze badges2 Answers
Reset to default 8Let's say you want to get charts data from /charts
endpoint.
//action
export const fetchOrdersChartsData = () => dispatch => {
dispatch({ type: CHARTS_LOADING }); //Loading starts
api.get('/charts')
.then(charts =>
dispatch({
type: CHARTS_LOADED, //Loading ends
payload: charts.data,
}))
.catch(error => {
//dispatch error
});
};
//reducer
export default (state = initState, action) => {
switch (action.type) {
case CHARTS_LOADING:
return {
...state,
loading: true,
};
case CHARTS_LOADED:
return {
...state,
charts: action.payload,
loading: false,
};
default:
return state;
}
};
In your ponent you can track loading
state and show/hide loader based on that.
import React from 'react'
import { connect } from 'react-redux';
import Loader from './Loader'
import Chart from './Chart'
class Charts extends React.PureComponent{
render(){
const {loading} = this.props;
return(
<div>
{loading ? <Loader/> : <Chart/>}
</div>
)
}
}
export default connect(
state => ({
loading: state.charts.loading,
}),{})(Accumulation);
If you are new then I remend to use package instead of creating your own you can find many package.
one of them you can see here https://www.npmjs./package/react-loader-advanced
you can use like
import Loader from 'react-loader-advanced';
class Example extends Component {
render() {
if(!loaded) {return (<Loader show={true} message={<i className='material-icons spinner-icon'>autorenew</i>}></Loader> )}
}
}
You can pass spinner or text you want. You can read more on github
本文标签: javascriptHow to create loader spin for reactreduxStack Overflow
版权声明:本文标题:javascript - How to create loader spin for reactredux - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742237830a2438400.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论