Tag: reactjs

使用Jquery和Bootstrap与Es6导入React App

您好我正在尝试将jquery和bootstrap包含到Reactjs项目中,但我使用es6导入来执行此操作。 我在index.js文件中包含了如下所示的导入。 但是在页面加载时它会给出错误,说Bootstrap的Javascript需要jquery。 我已经安装了所有必需的软件包。 如何将jquery放入我的捆绑和缩小的最终脚本文件中? import $ from ‘jquery’; import ‘../node_modules/bootstrap/dist/css/bootstrap.min.css’; import ‘../node_modules/bootstrap/dist/js/bootstrap.min.js’;

react.js中的hover按钮

我想问一下如何制作一个按钮但是当鼠标在按钮上时(hover),新按钮显示在上一个按钮上方…并且它位于react.js .. thx 这是我的代码的方式.. var Category = React.createClass({displayName: ‘Category’, render: function () { return ( React.createElement(“div”, {className: “row”}, React.createElement(“button”, null, “Search”, {OnMouseEnter://I have no idea until here}) ) ); } }); React.render(React.createElement(Category), contain);

在React JS中创建元素

我正在为react.js中的web-app重写UI,我对以下问题感到有些困惑。 我有一个页面显示通过AJAX请求获得的数据,在下面显示一个提交新数据的表单。 都好。 现在,我想在表单中添加一个元素,并从另一个位置(url)获取值。 当前代码(没有 )看起来像这样(简化了一下,但所有工作细节都相同;它主要遵循react.js网站上的教程): var tasks_link = $(‘#tasks_link’); var getDataMixin = { loadDataFromServer: function() { $.ajax({ url: this.props.url, dataType: ‘json’, success: function(data) { this.setState({data: data}); }.bind(this), error: function(xhr, status, err) { console.error(this.props.url, status, err.toString()); }.bind(this) }); }, getInitialState: function() { return {data: []}; }, componentDidMount: function() { this.loadDataFromServer(); } }; var sendDataMixin = […]

如何使用react创建多个页面应用程序

我使用react js创建了一个单页Web应用程序。 我使用webpack来创建所有组件的捆绑。 但现在我想创建许多其他页面。 大多数页面都与API调用相关。 即在index.html ,我显示了API内容。 我想在另一个页面中插入内容,从API中解析数据。 Webpack压缩文件中的所有响应,即bundle.js 。 但是, webpack的配置如下: const webpack = require(‘webpack’); var config = { entry: ‘./main.js’, output: { path:’./’, filename: ‘dist/bundle.js’, }, devServer: { inline: true, port: 3000 }, module: { loaders: [ { test: /\.jsx?$/, exclude: /node_modules/, loader: ‘babel’, query: { presets: [‘es2015’, ‘react’] } } ] }, […]

如何使用JQuery填充React生成的输入字段

我正在尝试编写一个书签来自动填充表单,以简化手动测试。 该网站在React中实施。 我尝试过使用JQuery,例如: $(“#emailAddress”).val(“bob@example.com”).changed() 虽然input字段在浏览器中可见地更新,但看起来在引擎盖下字段未被识别为已更改,因为表单提交时validation失败,表示数据丢失。 有没有一种可行的方法来使用ad-hoc JS自动填充React表单字段,而不更改任何源代码? (注意:我知道这种直接操作不是在一般应用程序开发中使用React的正确方法。在这里,我正在寻找任何解决方案,无论多么简单,都要简化特殊的手动测试)。

捕获包含内联svg的div并将其下载为图像

我编写代码来使用html5捕获页面的屏幕截图。 一切都很好,除非页面包含svg。 当我将svg转换为内联svg之后,该截图未捕获内联svg。 请检查https://jsfiddle.net/7bqukhff/4/ Scrrenshot Generate Screenshot » $(function() { $(‘img’).each(function() { var $img = jQuery(this); var imgID = $img.attr(‘id’); var imgClass = $img.attr(‘class’); var imgURL = $img.attr(‘src’); jQuery.get(imgURL, function(data) { // Get the SVG tag, ignore the rest var $svg = jQuery(data).find(‘svg’); // Add replaced image’s ID to the new SVG if (typeof imgID […]

onChange回调没有在React组件中触发

除非我出于某种原因使用jQuery,否则我的onChange()函数不会运行。 我必须在componentDidMount()添加onChange侦听器的原因是因为我使用的是MaterializeCSS,它将select标签转换为ul 。 以下代码工作正常: onChange(e) { let inspectionTime = e.target.value; this.setState({ inspectionTime }); } componentDidMount() { let $inspectionDropdown = $(ReactDOM.findDOMNode(this.refs.inspection)); $inspectionDropdown.on(‘change’, this.onChange); } 但是这段代码没有: onChange(e) { let inspectionTime = e.target.value; this.setState({ inspectionTime }); } componentDidMount() { let inspectionDropdown = ReactDOM.findDOMNode(this.refs.inspection); inspectionDropdown.addEventListener(‘change’, this.onChange); } 如果它有帮助,这是整个组件的代码: import React from ‘react’; import ReactDOM from ‘react-dom’; class InspectionMode extends […]

使用jquery对slideToggle做出反应

我正在尝试通过制作带有可折叠项目的菜单来学习一些React。 我正在使用jQuery作为其slideTogglefunction,但我无法让它正常工作。 反应代码的相关部分是这样的: var CollapsableMenuItem = React.createClass({ toggleDescription: function(el) { $(el).slideToggle(); }, render: function() { return ( {this.props.item.title} {this.props.item.body} ); } }); 虽然我目前正试图滑动切换“这个”,这将需要在未来改变 $(el).parent().find(‘.description’).slideToggle(); 因为这是需要滑动切换的实际元素 什么是正确的绑定“this [element]”的方式,所以jQuery可以对它进行slideToggling吗? 我正在努力摆脱这个小提琴 ,你可以忽略其他一些东西。 相关代码位于javascript部分的底部 第二个问题浮现在脑海中:使用jQuery.ready函数来绑定点击事件等是不是很糟糕? 从理论上讲,我可以将每个组件文件的jquery文件与其事件处理程序捆绑在一起。

在AJAX调用中无法读取未定义的属性“setState”

我试图从Dark Sky API获得jsonp响应,但我一直收到一个未定义的错误。 响应对象及其子对象显示在控制台上,但我无法将其置于该状态。 这里是更多的代码: class Weather extends React.Component { constructor (props) { super(props); this.state = { value: ”, //user input lat: 0, lon: 0, //coordinates data: {}, } this.getWeatherApi = this.getWeatherApi.bind(this); } getWeatherApi(lat,lon) { var url = `https://api.darksky.net/forecast/apikey/${lat},${lon}`; function setData(response) { console.log(response) this.setState({ data: response, }); } $.ajax({ url: url, dataType: ‘jsonp’, jsonpCallback: ‘setData’, […]

未捕获错误:不变违规:元素类型无效:预期为字符串

我正在尝试调试我的反应代码。 在我的渲染方法中,我尝试放置调试器和调试器。 在我跳过retun方法之后,它会转到warning.js。 在我跳过warning.js之后,如果条件是instantiateReactComponent.js 我不确定为什么它会转到不同的文件。 你能告诉我为什么它会转到不同的文件。 不知道如何调试。 如果你们给我一些解释,那将是很好的,以便将来我可以解决我自己的错误 提供代码的片段,每次都在函数调用中进行 error invariant.js?f23e:39未捕获错误:不变违规:元素类型无效:预期字符串(对于内置组件)或类/函数(对于复合组件)但得到:undefined。 检查sports-container的渲染方法。 render(){const {sportsType,sportsDevice,sportsWordings,id} = this.props; 让sportsEvent = true; debugger; if (sportsEvent === true) { return ( warning.js / ** *与不变量类似,但仅在不满足条件时才记录警告。 *这可用于记录关键*路径中的开发环境中的问题。 删除生产环境的日志记录代码将保持*相同的逻辑并遵循相同的代码路径。 * / var warning = emptyFunction; if (process.env.NODE_ENV !== ‘production’) { warning = function (condition, format) { for (var _len = arguments.length, […]