react-loading-image
Advanced tools
Weekly downloads
Readme
A react image loader component
$ npm install --save react-loading-image
class Demo extends React.Component {
constructor(props) {
super(props);
this.state = {
value: null
};
}
onChange = (e) => {
this.setState({
value: e.target.value
});
}
render() {
const {value} = this.state;
return (
<div>
<h1>Copy a image URL here</h1>
<input onChange={this.onChange}/>
<p>
value: {value}
</p>
<div>
{value && (
<ImageLoader
src={value}
loading={() => <div>Loading...</div>}
error={() => <div>Error</div>}
/>
)}
</div>
</div>
);
}
}
You might want to customized such as <div/>
as your final view, instead of <img/>
tags, you can use image
prop to replace any React element as you wish!
For example, using styled-components
:
import styled from 'styled-components';
const PreviewImg = styled.div`
background-image: url(${props => props.src});
width: 100%;
height: 300px;
background-size: contain;
background-repeat: no-repeat;
`;
class Demo extends React.Component {
...
render() {
const {value} = this.props;
return (
<div>
<ImageLoader
src={value}
image={props => <PreviewImg {...props}/>} // change to your customized component
loading={() => <div>Loading...</div>}
error={() => <div>Error</div>}
/>
</div>
);
}
}
Name | Type | Default | Description |
---|---|---|---|
src | string | null | Image URL |
style | style Object | null | Pass style object to set image's style |
className | string | null | Set image's className |
onLoad | (img: Image) => void | null | This function will be called when image is loaded |
onError | (err: Event) => void | null | This function will be called when image is failed |
loading | () => React.Element<*> | null | Return a React element that will show when image is loading |
error | () => React.Element<*> | null | Return a React element that will show when image is crashed |
image | ({src: string, width: number, height: number}) => React.Element<*> | null | Final result will render to this customized React element, if you don't assign this props default image will render into <img src={src} width={width} height={height}/> |
npm start
npm run gh-pages
MIT © chilijung
FAQs
A react image loader component
The npm package react-loading-image receives a total of 1,059 weekly downloads. As such, react-loading-image popularity was classified as popular.
We found that react-loading-image demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket installs a Github app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.