o u t e A c t i o n s } f r o m ' r e a c t - r o u t e r - r e d u x ' ; / / a c t i o n c r e a t o r でa c t i o n を作って, s t o r e にd i s p a t c h < B u t t o n o n C l i c k = { ( ) = > d i s p a t c h ( r o u t e A c t i o n s . p u s h ( ' / f o o ' ) ) ; } / > i m p o r t { U P D A T E _ L O C A T I O N } f r o m ' r e a c t - r o u t e r - r e d u x ' ; f u n c t i o n s o m e R e d u c e r ( s t a t e , a c t i o n ) { s w i t c h ( a c t i o n . t y p e ) { c a s e U P D A T E _ L O C A T I O N : / / d o s o m e t h i n g } } 9 / 30
/ / d e p s : a . j s e x p o r t d e f a u l t f u n c t i o n a ( ) { c o n s o l e . l o g ( ' H e l l o a ! ' ) ; } / / m a i n : m a i n . j s / / B a b e l 5 c o n s t a = r e q u i r e ( ' . / a ' ) ; / / B a b e l 6 c o n s t a = r e q u i r e ( ' . / a ' ) . d e f a u l t ; e x p o r t f u n c t i o n m a i n ( ) { a ( ) ; } 14 / 30
のみから構成され, かつテスト対象Module の依存 Module をMock したいとき / / d e p s : a . j s e x p o r t d e f a u l t f u n c t i o n a ( ) { c o n s o l e . l o g ( ' H e l l o a ! ' ) ; } / / m a i n : m a i n . j s / / B a b e l 5 c o n s t a = r e q u i r e ( ' . / a ' ) ; / / B a b e l 6 c o n s t a = r e q u i r e ( ' . / a ' ) . d e f a u l t ; / / d e f a u l t e x p o r t のみから構成されるM o d u l e の依存a ( ) をM o c k したいとき e x p o r t d e f a u l t f u n c t i o n m a i n ( ) { a ( ) ; } 15 / 30
Module) に依存している場合 i m p o r t p r o x y q u i r e f r o m ' p r o x y q u i r e ' ; c o n s t a S t u b = f u n c t i o n a ( ) { c o n s o l e . l o g ( ' M o c k h e l l o a ! ' ) ; } / / t e s t t a r g e t : m a i n ( d e f a u l t e x p o r t のみから構成されるE S 6 M o d u l e ) c o n s t s u t = p r o x y q u i r e ( ' p a t h / 2 / m a i n ' , { ' . / a ' : a S t u b } ) ; d e s c r i b e ( ' t e s t m a i n ' , ( ) = > { i t ( ' m a i n がa に依存している' , ( ) = > { s u t ( ) ; } ) ; } ) ; 16 / 30
Module) に依存している場合 i m p o r t p r o x y q u i r e f r o m ' p r o x y q u i r e ' ; c o n s t a S t u b = { / / d e f a u l t e x p o r t のp a t h はd e f a u l t に d e f a u l t : f u n c t i o n a ( ) { c o n s o l e . l o g ( ' M o c k h e l l o a ! ' ) ; } } ; / / t e s t t a r g e t : m a i n ( d e f a u l t e x p o r t のみから構成されるE S 6 M o d u l e ) c o n s t s u t = p r o x y q u i r e ( ' p a t h / 2 / m a i n ' , { ' . / a ' : a S t u b } ) . d e f a u l t ; / / d e f a u l t が必要に d e s c r i b e ( ' t e s t m a i n ' , ( ) = > { i t ( ' m a i n がa に依存している' , ( ) = > { s u t ( ) ; } ) ; } ) ; 17 / 30
{ P r o p T y p e s } f r o m ' r e a c t ' ; c o n s t e n t r y S h a p e = P r o p T y p e s . s h a p e ( { b o d y : P r o p T y p e s . s t r i n g . i s R e q u i r e d , e i d : P r o p T y p e s . n u m b e r . i s R e q u i r e d , p e r m a n e n t L i n k : P r o p T y p e s . s t r i n g . i s R e q u i r e d , p o s t e d A t : P r o p T y p e s . s t r i n g . i s R e q u i r e d , t i t l e : P r o p T y p e s . s t r i n g . i s R e q u i r e d , u r l F i r s t I m a g e : P r o p T y p e s . s t r i n g . i s R e q u i r e d , } ) ; e x p o r t d e f a u l t e n t r y S h a p e ; i m p o r t e n t r y S h a p e f r o m ' p a t h / 2 / e n t r y - s h a p e ' ; e x p o r t d e f a u l t c l a s s S o m e C o m p o n e n t e x t e n d s C o m p o n e n t { r e n d e r ( ) { / / b l a h b l a h } } S o m e C o m p o n e n t . p r o p T y p e s = { e n t r i e s : P r o p T y p e s . a r r a y O f ( e n t r y S h a p e ) . i s R e q u i r e d } ; 22 / 30