@@ -85,15 +85,10 @@ function _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
85
85
if ( Array . isArray ( vnode ) ) {
86
86
let rendered = '' ;
87
87
for ( let i = 0 ; i < vnode . length ; i ++ ) {
88
- if ( pretty && i > 0 ) rendered += '\n' ;
89
- rendered += _renderToString (
90
- vnode [ i ] ,
91
- context ,
92
- opts ,
93
- inner ,
94
- isSvgMode ,
95
- selectValue
96
- ) ;
88
+ if ( pretty && i > 0 ) rendered = rendered + '\n' ;
89
+ rendered =
90
+ rendered +
91
+ _renderToString ( vnode [ i ] , context , opts , inner , isSvgMode , selectValue ) ;
97
92
}
98
93
return rendered ;
99
94
}
@@ -289,7 +284,7 @@ function _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
289
284
opts . attributeHook &&
290
285
opts . attributeHook ( name , v , context , opts , isComponent ) ;
291
286
if ( hooked || hooked === '' ) {
292
- s += hooked ;
287
+ s = s + hooked ;
293
288
continue ;
294
289
}
295
290
@@ -303,7 +298,7 @@ function _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
303
298
v = name ;
304
299
// in non-xml mode, allow boolean attributes
305
300
if ( ! opts || ! opts . xml ) {
306
- s += ' ' + name ;
301
+ s = s + ' ' + name ;
307
302
continue ;
308
303
}
309
304
}
@@ -319,10 +314,10 @@ function _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
319
314
// and the <option> doesn't already have a selected attribute on it
320
315
typeof props . selected === 'undefined'
321
316
) {
322
- s += ` selected` ;
317
+ s = s + ` selected` ;
323
318
}
324
319
}
325
- s += ` ${ name } ="${ encodeEntities ( v ) } "` ;
320
+ s = s + ` ${ name } ="${ encodeEntities ( v ) } "` ;
326
321
}
327
322
}
328
323
}
@@ -331,10 +326,10 @@ function _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
331
326
if ( pretty ) {
332
327
let sub = s . replace ( / \n \s * / , ' ' ) ;
333
328
if ( sub !== s && ! ~ sub . indexOf ( '\n' ) ) s = sub ;
334
- else if ( pretty && ~ s . indexOf ( '\n' ) ) s += '\n' ;
329
+ else if ( pretty && ~ s . indexOf ( '\n' ) ) s = s + '\n' ;
335
330
}
336
331
337
- s += '>' ;
332
+ s = s + '>' ;
338
333
339
334
if ( UNSAFE_NAME . test ( nodeName ) )
340
335
throw new Error ( `${ nodeName } is not a valid HTML tag name in ${ s } ` ) ;
@@ -350,7 +345,7 @@ function _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
350
345
if ( pretty && isLargeString ( html ) ) {
351
346
html = '\n' + indentChar + indent ( html , indentChar ) ;
352
347
}
353
- s += html ;
348
+ s = s + html ;
354
349
} else if (
355
350
propChildren != null &&
356
351
getChildren ( ( children = [ ] ) , propChildren ) . length
@@ -407,16 +402,16 @@ function _renderToString(vnode, context, opts, inner, isSvgMode, selectValue) {
407
402
}
408
403
409
404
if ( pieces . length || html ) {
410
- s += pieces . join ( '' ) ;
405
+ s = s + pieces . join ( '' ) ;
411
406
} else if ( opts && opts . xml ) {
412
407
return s . substring ( 0 , s . length - 1 ) + ' />' ;
413
408
}
414
409
415
410
if ( isVoid && ! children && ! html ) {
416
411
s = s . replace ( / > $ / , ' />' ) ;
417
412
} else {
418
- if ( pretty && ~ s . indexOf ( '\n' ) ) s += '\n' ;
419
- s += `</${ nodeName } >` ;
413
+ if ( pretty && ~ s . indexOf ( '\n' ) ) s = s + '\n' ;
414
+ s = s + `</${ nodeName } >` ;
420
415
}
421
416
422
417
return s ;
0 commit comments