【发布时间】:2020-09-28 19:50:24
【问题描述】:
我正在从 CDN 导入一些 React 模块(这不是必需的,我也尝试过使用本地构建,更多关于它的最后一个问题):
<script crossorigin src="https://unpkg.com/react-onclickoutside@6.9.0/dist/react-onclickoutside.min.js"></script>
<script crossorigin src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.0/moment.min.js" integrity="sha512-Izh34nqeeR7/nwthfeE0SI3c8uhFSnqxV0sI9TvTcXiFJkMd6fB644O64BRq2P/LA/+7eRvCw4GmLsXksyTHBg==" crossorigin="anonymous"></script>
<script crossorigin src="https://unpkg.com/react-datepicker@3.1.3/dist/react-datepicker.min.js"></script>
然后我有一个脚本来构建 React DatePicker 组件,这是它的相关 sn-p:
HelloWorld.Example=function()
{
var p,setCount,count,p$1,c,myDate,datePicker;
p=React$2.useState(0);
setCount=p[1];
count=p[0];
p$1=React$2.useState(new moment(new Date((c=Date.now(),DateUtil.DatePortion(c)))));
myDate=p$1[0];
datePicker=React$2.createElement(DatePicker.default,{
selected:new moment(new Date()),
onChange:p$1[1]
});
React.set_setCount(setCount);
return React$2.createElement("div",null,datePicker,React$2.createElement("p",null,(Html.textf(function($1)
{
我从 JS 控制台看到的错误是:
react-datepicker.min.js:1 Uncaught TypeError: o is not a function
at Ee (react-datepicker.min.js:1)
当脚本调用ReactDOM.render时。
有没有办法理解 o 是什么?也许缺少进口?
(编辑好吧,查看 chrome 调试器并将其与 github 进行比较,o 是 isValidDate,即 import isValidDate from "date-fns/isValid";,因此来自 date-fns 的导入在 CDN 中不起作用)
有没有一种方法——例如——我可以在本地 npm run build 所需的模块 react-datepicker,然后从我的脚本中调用 react API,如上所示? (我收到的建议是将我的脚本配置为 webpack 中的条目,但 afaik React 不使用 webpack,尽管我在 react-datepicker 中看到它是 used。
来自React docs,我可以读到
JSX 不是使用 React 的必要条件
所以像上面这样的东西应该是可行的,理论上。
我在 github react-datepicker repo 上打开了一个 question/issue(在从 WebSharper.React 调用此组件的上下文中)。
【问题讨论】:
标签: javascript reactjs f# react-datepicker websharper