Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
966 views
in Technique[技术] by (71.8m points)

reactjs - `eval()`ing code with JSX syntax in it

I have a website where the server is generating some javascript and sending it via ajax to the client. The problem is, I want to use React on the pages but don't know which function to call. Right now the javascript is in jQuery and I use eval() to execute the javascript on the client side. What is the React equivalent of eval() that works for JSX.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If you want it to work with JSX, you can transpile the code with something like Babel before you execute it.

For example, when using the browser version of Babel:

var jsCode = babel.transform(jsxCode);
eval(jsCode.code);

There's also a run method you can use to simply execute the code:

babel.run(code);

Both transform and run take an optional options hash; check the documentation for more details.

Of course, as is standard, be careful with eval.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...