将动态变量注入到 React Native 的 WebView 的注入的 JavaScript 字符串中

Inject dynamic vars into React Native's WebView's injectedJavaScript string

我正在我的应用程序中加载此 WebView:

           <WebView
                style={{
                    marginTop: 5,
                    flex:1,
                    flexDirection: 'column',
                    alignItems:'center',
                    justifyContent: 'center',
                    backgroundColor: 'rgba(255,255,255,0.8)',
                    height:300
                  }}
                source={require('./test.html')}
                injectedJavaScript={injectedScript}
                scalesPageToFit={true}
            />

因为我希望此 html 文件显示我在调用渲染之前获得的字符串 - 我想执行以下操作:

        let injectedScript = `CKEDITOR.instances.editor.setData(${bodyForDisplay});`;

但这就是行不通。当我用静态字符串(即 "test")替换 ${bodyForDisplay} 时 - 它完美无缺。

关于如何在此处注入动态值的任何想法?

您需要用单引号或双引号将 ${bodyForDisplay} 括起来,因为它是方法 setData.

的字符串参数

此外,请确保对 bodyForDisplay 中的字符串进行转义,这样它就不会关闭开头的字符串引号(单引号或双引号)。 信任用户输入是不安全的,因此您也应该正确转义该字符串中的其他字符。