1
- import React , { useEffect , useState } from 'react'
1
+ import React , { useEffect , useMemo , useState } from 'react'
2
2
import Clipboard from 'react-clipboard.js'
3
3
import { useSnackbar } from 'notistack'
4
4
import { Collapse } from 'react-collapse'
@@ -17,10 +17,14 @@ const TranslationItem: React.FC<{
17
17
} > = ( { job } ) => {
18
18
const config = useConfig ( )
19
19
const [ loading , setLoading ] = useState ( true )
20
- const [ result , setResult ] = useState < string > ( )
20
+ const [ result , setResult ] = useState < string [ ] > ( )
21
21
const [ collapse , setCollapse ] = useState ( true )
22
22
const { enqueueSnackbar } = useSnackbar ( )
23
23
24
+ const textContent = useMemo ( ( ) : string [ ] => {
25
+ return job . text . split ( '\n' )
26
+ } , [ job . text ] )
27
+
24
28
const findOriginal = ( ) => {
25
29
const { parentElement } = job
26
30
@@ -51,7 +55,7 @@ const TranslationItem: React.FC<{
51
55
payload,
52
56
} )
53
57
54
- setResult ( payload . translations . map ( ( item ) => item . text ) . join ( '\n' ) )
58
+ setResult ( payload . translations . map ( ( item ) => item . text ) )
55
59
56
60
setLoading ( false )
57
61
} )
@@ -73,15 +77,23 @@ const TranslationItem: React.FC<{
73
77
className = "ate_TranslationItem__original"
74
78
onClick = { ( ) => setCollapse ( ( prev ) => ! prev ) } >
75
79
< Collapse isOpened = { ! collapse } >
76
- < div > { job . text } </ div >
80
+ < >
81
+ { textContent . map ( ( item , index ) => (
82
+ < div key = { index } > { item } </ div >
83
+ ) ) }
84
+ </ >
77
85
</ Collapse >
78
86
</ div >
79
87
80
88
{ loading ? (
81
89
< div className = "ate_TranslationItem__result" > 翻译中…</ div >
82
90
) : undefined }
83
91
{ result ? (
84
- < div className = "ate_TranslationItem__result" > { result } </ div >
92
+ < div className = "ate_TranslationItem__result" >
93
+ { result . map ( ( item , index ) => (
94
+ < div key = { index } > { item } </ div >
95
+ ) ) }
96
+ </ div >
85
97
) : undefined }
86
98
</ div >
87
99
< div className = "ate_TranslationItem__lower" >
0 commit comments