本文主要是介绍reactJs动态执行js代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考了这篇文章 js——new Function 一个可以随时动态执行字符串js代码的神器
因为一些原因,想要js代码块配置在数据库中返回,例如时间,我需要用到第三方库 moment。然后动态的得到startDate 和 endDate
配置在数据库中的startDate值是$moment().subtract(1,'year')
一年前的日期,而endDate值是$moment()
。
去掉$
符就是我想要的js代码
$
符号只是用于区分值和js代码。在js中我最终是replaceAll('$', '')
替换掉的。
实际逻辑如下:
import moment from 'moment';// 在使用的地方引入moment库
// startDate 和 endDate
var endDate = "moment()";
var startDate = "moment().subtract(1,'year')"
/**
将 moment 库传进去这样在执行startDate/endDate代码的时候就会将入参的moment拿到并执行想要的代码,
这里是通过return返回的,因此我用date1接收了返回值。
*/
var date1 = new Function('moment','return ' + startDate)(moment);
var date2 = new Function('moment','return ' + endDate )(moment);
这篇关于reactJs动态执行js代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!