@@ -26,7 +26,7 @@ class XAxis extends PureComponent {
26
26
spacingInner,
27
27
spacingOuter,
28
28
contentInset : {
29
- left = 0 ,
29
+ left = 0 ,
30
30
right = 0 ,
31
31
} ,
32
32
} = this . props
@@ -68,18 +68,25 @@ class XAxis extends PureComponent {
68
68
const { height, width } = this . state
69
69
70
70
if ( data . length === 0 ) {
71
- return < View style = { style } />
71
+ return < View style = { style } />
72
72
}
73
73
74
74
const values = data . map ( ( item , index ) => xAccessor ( { item, index } ) )
75
- const extent = array . extent ( values )
75
+ const extent = array . extent ( values )
76
76
const domain = scale === d3Scale . scaleBand ?
77
77
values :
78
- [ min || extent [ 0 ] , max || extent [ 1 ] ]
78
+ [ min || extent [ 0 ] , max || extent [ 1 ] ]
79
79
80
- const x = this . _getX ( domain )
80
+ const x = this . _getX ( domain )
81
81
const ticks = numberOfTicks ? x . ticks ( numberOfTicks ) : values
82
82
83
+ const extraProps = {
84
+ x,
85
+ ticks,
86
+ height,
87
+ formatLabel,
88
+ }
89
+
83
90
return (
84
91
< View style = { style } >
85
92
< View
@@ -88,7 +95,7 @@ class XAxis extends PureComponent {
88
95
>
89
96
{ /*invisible text to allow for parent resizing*/ }
90
97
< Text style = { { opacity : 0 , fontSize : svg . fontSize } } >
91
- { formatLabel ( ticks [ 0 ] , 0 ) }
98
+ { formatLabel ( ticks [ 0 ] , 0 ) }
92
99
</ Text >
93
100
{
94
101
height > 0 && width > 0 &&
@@ -100,13 +107,15 @@ class XAxis extends PureComponent {
100
107
width,
101
108
} } >
102
109
< G >
103
- { children }
110
+ { React . Children . map ( children , child => {
111
+ return React . cloneElement ( child , extraProps )
112
+ } ) }
104
113
{
105
114
// don't render labels if width isn't measured yet,
106
115
// causes rendering issues
107
116
width > 0 &&
108
117
ticks . map ( ( value , index ) => {
109
- const { svg : valueSvg = { } } = data [ index ] || { }
118
+ const { svg : valueSvg = { } } = data [ index ] || { }
110
119
111
120
return (
112
121
< SVGText
0 commit comments