File tree Expand file tree Collapse file tree 1 file changed +27
-24
lines changed
packages/mdx/src/smooth-code Expand file tree Collapse file tree 1 file changed +27
-24
lines changed Original file line number Diff line number Diff line change @@ -56,40 +56,43 @@ function useDimensions(
5656 code . next ,
5757 focus . next
5858 )
59+
5960 const lines = ( code . prev || code . next ! )
6061 . trimEnd ( )
6162 . split ( newlineRe )
6263
6364 const lineCount = lines . length
6465
66+ // avod setting the ref more than once https://github.com/code-hike/codehike/issues/232
67+ let prevLineRefSet = false
6568 const element = (
6669 < code className = "ch-code-scroll-parent" >
6770 < br />
68- { lines . map ( ( line , i ) => (
69- < div
70- ref = {
71- line === prevLongestLine
72- ? prevLineRef
73- : undefined
74- }
75- key = { i }
76- >
77- { lineNumbers ? (
78- < span className = "ch-code-line-number" >
79- _ { lineCount }
80- </ span >
81- ) : undefined }
82- < div
83- style = { {
84- display : "inline-block" ,
85- // leftPad
86- marginLeft : 16 ,
87- } }
88- >
89- < span > { line } </ span >
71+ { lines . map ( ( line , i ) => {
72+ const ref =
73+ ! prevLineRefSet && line === prevLongestLine
74+ ? prevLineRef
75+ : undefined
76+ prevLineRefSet = prevLineRefSet || ref != null
77+ return (
78+ < div ref = { ref } key = { i } >
79+ { lineNumbers ? (
80+ < span className = "ch-code-line-number" >
81+ _ { lineCount }
82+ </ span >
83+ ) : undefined }
84+ < div
85+ style = { {
86+ display : "inline-block" ,
87+ // leftPad
88+ marginLeft : 16 ,
89+ } }
90+ >
91+ < span > { line } </ span >
92+ </ div >
9093 </ div >
91- </ div >
92- ) ) }
94+ )
95+ } ) }
9396 < br />
9497 </ code >
9598 )
You can’t perform that action at this time.
0 commit comments