Ich baue ein Karussell, das ein Hauptbild und eine Liste von Miniaturbildern enthält.Reagieren Redux + Saga Image Karussell
Es gibt zurück und neben Tasten, damit der Benutzer durch die Liste der Bilder navigieren.
Hier ist mein Code so weit:
import styles from './carousel.css';
import cn from '../../../utils/classname';
import actions from '../../../actions';
import Magnified from '../../../svg/icons/ui/magnified_glass';
import ArrowRight from '../../../svg/icons/ui/arrow_right';
import ArrowLeft from '../../../svg/icons/ui/arrow_left';
const Carousel = ({ dispatch, selectedCaravan }) =>
<div className={cn(styles.carouselWrap)}>
<div className={cn(styles.carouselFeatWrap)}>
<a href="#" className={cn(styles.carouselExpand)} onClick={() => dispatch({ type: actions.CAROUSEL_EXPAND })}>
<Magnified />
</a>
<ul className={cn(styles.carousel)}>
{selectedCaravan.images && selectedCaravan.images.map((image, i) => {
return <li key={i}>
<img src={image} />
</li>;
})}
</ul>
</div>
<div className={cn(styles.carouselThumbNavWrap)}>
<ul className={cn(styles.carouselThumbnails)}>
{selectedCaravan.images && selectedCaravan.images.map((image, i) => {
return <li key={i} onClick={() => dispatch ({ type: actions.CAROUSE_GO_TO })}>
<img src={image} />
</li>;
})}
</ul>
<div className={cn(styles.carouselNavigation)}>
<a href="#" className={cn(styles.carouselNavPrev)} onClick={() => dispatch({ type: actions.CAROUSEL_PREV })}>
<ArrowLeft />
</a>
<a href="#" className={cn(styles.carouselNavNext)} onClick={() => dispatch({ type: actions.CAROUSEL_NEXT })}>
<ArrowRight />
</a>
</div>
</div>
</div>;
export default Carousel;
Ich habe Aktionen wie CAROUSEL_NEXT
und CAROUSEL_PREV
. Ich lausche auf diese Aktionen in meinen Sagas und denke, dass ich den ausgewählten Index aktualisieren und das Hauptbild irgendwie auf den vom Benutzer ausgewählten aktualisieren muss.
Meine Saga sieht wie folgt aus so weit:
Ich bin nicht sicher, wie der ausgewählten Index zu aktualisieren, wenn ein Benutzer ein neues Bild auswählt und wie zu animieren oder im Wesentlichen das Karussell Schlitten machen.
Vielen Dank für diese @ notgiorgi. Ich frage mich, mit dem ersten Code-Snippet, wo diese Action-Ersteller gehen, wie ich bereits Aktionen eingerichtet habe für den On-Click hören? – Filth
Action-Ersteller sind nur Helfer, um die Aktionen einfach zu versenden, anstatt sie jedes Mal manuell zu schreiben. – notgiorgi
Ok danke, ich versuche nur herauszufinden, wie ich das auf mein Projekt anwenden kann und welcher Code wohin geht, wenn das Sinn macht. – Filth