javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

javascript-尝试使用React.DOM设置主体样式

如何使用React.DOM更改HTML document.body.style.backgroundColor = "green";上的样式?

我尝试了这段代码,但无法正常工作:

var MyView = React.createClass({
  render: function() {
    return (
      <div>
        React.DOM.body.style.backgroundColor = "green";
        Stuff goes here.
      </div>
    );
  }
});

如果您从浏览器控制台执行此命令,它将起作用(但我需要在ReactJS代码中起作用):document.body.style.backgroundColor = "green";

另请参阅此问题以获取类似但不同的解决方案:使用ReactJS和React Router更改每条路线的页面背景颜色?

trans by 2020-08-10T06:09:27Z

javascript-未捕获的错误:始终违反:findComponentRoot(...,... $ 110):无法找到元素。 这可能意味着DOM被意外地突变了

我在React中的嵌套循环做错了什么? 我已经在Google中搜索了信息,但没有找到合适的信息。 您能帮我找到我理解的错误吗?

从图中可以看出,我有一个变量中的数据。 而且效果很好。 但是,当我添加的不是此<tr>的值时,会出现错误!

    var TableBalls80 = React.createClass({
        render:function(){
            var rows = this.props.rows;
            var columnId = 0, trKey = 0, divKey = 0, td1stKey = 0;
            var td2ndKey = 100;
            return(
                    <table className='table table-bordered bg-success'>
                                <thead>
                                <tr className='danger'>
                                    {rows[0].row.map(function (element){
                                        columnId++;
                                        return (
                                        <th colSpan="2" key={columnId}>{columnId}</th>);
                                    })}
                                </tr>
                                </thead>
                                <tbody>
                                    {rows.map(function (rowElement){
                                        return (<tr key={trKey++}>
                                        {rowElement.row.map(function(ball){
                                            console.log('trKey:'+trKey+' td1stKey'+td1stKey+' ball.value:'+ball.value+' td2ndKey:'+td2ndKey+' ball.count:'+ball.count);
                                            return(<div key={divKey++}>
                                                <td className='info' key={td1stKey++}>{ball.value}</td><td key={td2ndKey++}>{ball.count}</td>
                                            </div>);
                                        })}
                                        </tr>);
                                    })}
                                </tbody>
                            </table>);
        }
    });

错误(取决于从另一个<tr>添加的项目):

未捕获的错误:不断违反:findComponentRoot(...,.0.1.1.0.2.0.0.1。$ 0. $ 9. $ 109):>无法找到元素。 这可能意味着DOM发生了意外更改(例如,通过>浏览器进行了更改),通常是由于在使用表时忘记了n ......`。

trans by 2020-08-09T09:12:51Z

javascript-输入Reactjs的预期对应JSX结束标记

在具有输入字段的Reactjs中创建组件时发生错误Error: Parse Error: Line 47: Expected corresponding JSX closing tag for input at http://localhost/chat-react/src/script.js:47:20 </div>

var Main = React.createClass({
    render: function() {
        return (
            <div className="card-action">
                <i class="mdi-action-account-circle prefix"></i>
                <input id="icon_prefix" type="text" class="validate">
            </div>
        );
    }
});
trans by 2020-07-08T09:42:36Z

javascript-没有花括号的箭头功能

我是ES6和React的新手,我一直看到箭头功能。 为什么某些箭头函数在粗体箭头之后使用花括号,而另一些使用括号?例如:

const foo = (params) => (
    <span>
        <p>Content</p>
    </span>
);

const handleBar = (e) => {
    e.preventDefault();
    dispatch('logout');
};

谢谢你的帮助!

trans by 2020-06-21T21:17:39Z

javascript-警告:propType失败:提供给Route的无效prop组件

我正在尝试新的react-router 1.0.0,但收到了我无法解释的奇怪警告:

警告:propType失败:提供给无效的prop`component` 路线。

警告:无效的未定义的组件提供给路由。

该应用程序很简单:

import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route } from 'react-router';

import App from './components/app';

var Speaker = require('./components/speaker');

ReactDOM.render((
    <Router>
      <Route path="/" component={App}>
        // This is the source of the warning:
        <Route path="speaker" component={ Speaker }/>
      </Route>
    </Router>
), document.getElementById('react-container'));

Speaker.jsx:

import React from 'react';

var Speaker = React.createClass({
  render() {
    return (
        <h1>Speaker</h1>
    )
  }
});

module.exoprts = Speaker;

app.jsx仅具有以下render()函数:

render() {
    return (
        <div>
            <Header title={this.state.title} status={this.state.status} />

            {this.props.children}
        </div>);
}

当我输入到#/ speaker或#speaker的路线时-除标题外,什么都没有显示。 请帮忙。

trans by 2020-06-20T11:29:46Z

javascript-如何使用JSX将元素重复n次

我正在我的应用程序中使用React / JSX来完成我想要的东西,Lodash。

我需要根据条件重复元素一定次数,该怎么做?

这是元素:

<span className="busterCards">♦</span>;

我将其分配为:

    let card;
    if (data.hand === '8 or more cards') {
      card = <span className="busterCards">♦</span>;
    }

因此,在这种情况下,我需要将元素重复8次。 使用Lodash的程序应该是什么?

trans by 2020-02-18T16:16:23Z

javascript-在JSX中添加空格的最佳做法

我知道如何(以及为什么)在JSX中添加空格,但是我想知道什么是最佳实践,或者是否有什么真正的区别?

将两个元素包装在一起

<div className="top-element-formatting">
  <span>Hello </span>
  <span className="second-word-formatting">World!</span>
</div>

一行添加

  <div className="top-element-formatting">
    Hello <span className="second-word-formatting">World!</span>
  </div>

用JS添加空间

<div className="top-element-formatting">
    Hello {" "}
    <span className="second-word-formatting">World!</span>
</div>
trans by 2020-02-11T22:35:37Z

reactjs-jsx中的自动完成html标签(崇高文本)

我希望能够对我的react / jsx代码中的html标签使用自动完成功能。 处理html文件的方法相同。 我可以配置sublime text 3来启用jsx文件的标签自动完成功能吗?

trans by 2020-02-04T00:23:51Z

react jsx-在Visual Studio Code中将语言更改为JSX

Visual Studio Code现在在0.8版本上支持JSX,但似乎激活它的唯一方法是使用.jsx文件扩展名。 手动更改语言模式不在列表中,最接近的选项是JavaScriptReact,但它不会解析JSX标签。

我正在使用JSX的项目中包含.jsx个文件,但无法更改。

没有.jsx扩展名,还有其他方法可以使用JSX语法吗?

trans by 2020-01-24T01:31:12Z

reactjs-如何在Atom Edi上为React配置ESLint

在Atom Editor中,我安装了以下插件

  1. 短绒
  2. 夹棉

看来他们不认识JSX语法。

我在命令行上运行它,但不得不使用其他插件,例如esprima-fbeslint-plugin-react。看起来Atom Editor没有此类插件,并且想知道你们中是否有人知道如何解决此问题。

trans by 2020-01-13T15:58:19Z

reactjs-如何为JSXTransformer正确包装一些TD标签?

我有一个包含项的数组,我想做这样的事情:

<tr>
(until have items in array
<td></td><td></td>)
</tr>

但是,如果这样做,我会收到JSXTransformer错误:

相邻的XJS元素必须包装在一个封闭标签中

工作版本:

{rows.map(function (rowElement){
    return (<tr key={trKey++}>
        <td className='info' key={td1stKey++}>{rowElement.row[0].value}</td><td key={td2ndKey++}>{rowElement.row[0].count}</td>
        <td className='info' key={td1stKey++}>{rowElement.row[1].value}</td><td key={td2ndKey++}>{rowElement.row[1].count}</td>
        <td className='info' key={td1stKey++}>{rowElement.row[2].value}</td><td key={td2ndKey++}>{rowElement.row[2].count}</td>
        <td className='info' key={td1stKey++}>{rowElement.row[3].value}</td><td key={td2ndKey++}>{rowElement.row[3].count}</td>
        <td className='info' key={td1stKey++}>{rowElement.row[4].value}</td><td key={td2ndKey++}>{rowElement.row[4].count}</td>
                 .......
        </tr>);
})}

我尝试过这个。 但是使用<div>封闭标签无法正常工作。

在这里回答:未捕获的错误:始终违反:findComponentRoot(...,... $ 110):无法找到元素。 这可能意味着DOM被意外地突变了

<tbody>
    {rows.map(function (rowElement){
        return (<tr key={trKey++}>
        {rowElement.row.map(function(ball){
            console.log('trKey:'+trKey+' td1stKey'+td1stKey+' ball.value:'+ball.value+' td2ndKey:'+td2ndKey+' ball.count:'+ball.count);
            return(<div key={divKey++}>
                <td className='info' key={td1stKey++}>{ball.value}</td><td key={td2ndKey++}>{ball.count}</td>
            </div>);
        })}
        </tr>);
    })}
</tbody>

请告诉我如何正确包装一些TD标签!   我尝试使用动态儿童指南,但是JSXTransformer不允许我这样做。

trans by 2020-01-08T11:25:14Z

javascript-React JSX:遍历哈希并为每个键返回JSX元素

我正在尝试遍历哈希中的所有键,但循环未返回任何输出。 console.log()预期的输出。 知道为什么JSX不返回并输出正确吗?

var DynamicForm = React.createClass({
  getInitialState: function() {
    var items = {};
    items[1] = { name: '', populate_at: '', same_as: '', 
                 autocomplete_from: '', title: '' };
    items[2] = { name: '', populate_at: '', same_as: '', 
                 autocomplete_from: '', title: '' };
    return {  items  };
  },



  render: function() {
    return (
      <div>
      // {this.state.items.map(function(object, i){
      //  ^ This worked previously when items was an array.
        { Object.keys(this.state.items).forEach(function (key) {
          console.log('key: ', key);  // Returns key: 1 and key: 2
          return (
            <div>
              <FieldName/>
              <PopulateAtCheckboxes populate_at={data.populate_at} />
            </div>
            );
        }, this)}
        <button onClick={this.newFieldEntry}>Create a new field</button>
        <button onClick={this.saveAndContinue}>Save and Continue</button>
      </div>
    );
  }
trans by 2020-01-04T21:23:00Z

javascript-React:键盘事件处理程序全部为“ Null”

我无法获得任何React SyntheticKeyboardEvent处理程序来注册除2682146928623879879169以外的任何其他事件属性。

我把组件弄得一团糟,并得到了与我的应用程序相同的结果。 谁能看到我在做什么错?

[http://jsfiddle.net/kb3gN/1405/]

var Hello = React.createClass({
    render: function() {
      return (
      <div>
        <p contentEditable="true"
           onKeyDown={this.handleKeyDown}
           onKeyUp={this.handleKeyUp}
           onKeyPress={this.handleKeyPress}>Foobar</p>
        <textarea
           onKeyDown={this.handleKeyDown}
           onKeyUp={this.handleKeyUp}
           onKeyPress={this.handleKeyPress}>
        </textarea>
        <div>
          <input type="text" name="foo" 
           onKeyDown={this.handleKeyDown}
           onKeyUp={this.handleKeyUp}
           onKeyPress={this.handleKeyPress} />
        </div>
      </div>
      );
    },

    handleKeyDown: function(e) {
      console.log(e);
    },

    handleKeyUp: function(e) {
     console.log(e);
    },

    handleKeyPress: function(e) {
     console.log(e); 
    }
});

React.renderComponent(<Hello />, document.body);
trans by 2019-12-31T15:28:48Z

react jsx-ReactJS:放在子组件上时不会触发onClick处理程序

我最近开始使用React Div。具体地说,我正在使用IconButton红宝石gem和onClick组件。

我有一个关于将React Div事件侦听器放置在子组件中的问题。

从下面的代码示例中可以看到,我有一个父组件,该父组件在其React Div函数中“调用”子组件。 在该IconButton函数中,我具有React onClick侦听器,单击该侦听器将调用ToggleIconButton::handleToggle

###* @jsx React.DOM ###

ToggleIconButton = React.createClass
  getInitialState: ->
    toggleOn: false
  handleToggle: (evt) ->
    this.setState(toggleOn: !this.state.toggleOn)
  render: ->
    `<IconButton onClick={this.handleToggle}>Toggle Button</IconButton>`

IconButton = React.createClass
  render: ->
    # BsButton and BsGlyphicon are React-Bootstrap components
    `<BsButton>
      <BsGlyphicon glyph={this.props.glyph} />
      {" " + this.props.text}
     </BsButton>`

不幸的是,这并不像我想的那样起作用。 React Div永远不会被调用。 而是将IconButton侦听器放在onClick上,并引用ToggleIconButton::handleToggle

React Dev Tool Screen


我不想在React Div中添加任何其他行为。从我的角度来看,不应在IconButton中放置任何条件逻辑。它所要做的只是代表图标和按钮,而不必担心任何浏览器事件。 这就是onClick的用途。

虽然我知道我可以将React Div包裹在IconButton周围并在那里写一个onClick侦听器(我已经尝试过了,但它确实有效),但似乎有点过时。

有人知道这样做的好方法吗? 谢谢你们!

trans by 2019-12-25T17:57:53Z

html-如何在ReactJS中手动触发点击事件?

如何在ReactJS中手动触发点击事件?当用户单击element1时,我想自动触发对2597763076309129124096标记的单击。

<div className="div-margins logoContainer">
  <div id="element1" className="content" onClick={this.uploadLogoIcon}>
    <div className="logoBlank" />
  </div>
  <input accept="image/*" type="file" className="hide"/>
</div>
trans by 2019-11-03T10:20:53Z

reactjs-Reactjs:如何将jsx与JavaScript分离

有什么方法可以将jsx从组件的render函数移动到单独的文件? 如果是这样,如何在render函数中引用jsx?

trans by 2019-11-03T06:13:38Z

react jsx-侦听reactjs中文档的按键

我想绑定以关闭escape印刷机上的活动react bootstrap popover。这是代码

_handleEscKey:function(event){
         console.log(event);
        if(event.keyCode == 27){
          this.state.activePopover.hide();
        }
   },

  componentWillMount:function(){
     BannerDataStore.addChangeListener(this._onchange);
     document.addEventListener("click", this._handleDocumentClick, false);
     document.addEventListener("keyPress", this._handleEscKey, false);
   },


   componentWillUnmount: function() {
     BannerDataStore.removeChangeListener(this._onchange);
      document.removeEventListener("click", this._handleDocumentClick, false);
      document.removeEventListener("keyPress", this._handleEscKey, false);
   },

但是,当我按任意键时,控制台中什么都没有记录。 我也尝试在窗口上以及不同情况下使用'keypress','keyup'等来收听,但似乎我做错了。

trans by 2019-10-12T12:35:52Z

reactjs-在Sublime Text 3中,如何为JSX文件启用Emmet?

之前,我一直使用Allan Hortle的JSX包,直到遇到有关如何处理语法突出显示的问题。 然后我注意到有一个官方程序包,崇高反应。

使用Allan Hortle的软件包,他在Preferences > Key Bindings – User中添加了一个片段,以启用Emmet功能,如下所示:

{
    "keys": ["tab"],
    "command": "expand_abbreviation_by_tab", 
    "context": [
        {
            "operand": "source.js.jsx", 
            "operator": "equal", 
            "match_all": true, 
            "key": "selector"
        }
    ]
}

该代码段似乎不适用于正式的sublime-react程序包。 似乎需要对键绑定进行修改,但是对Sublime文档的初步阅读没有引起人们的兴趣。 救命?

trans by 2019-10-08T08:42:10Z

react jsx - 如何从ReactJS代码调用休息?

我是reactJS和UI的新手,我想知道如何从reactJS代码中进行简单的基于休息的POST调用。

如果有任何示例,那将非常有帮助。

谢谢。

trans by 2019-09-14T01:29:37Z

javascript - 警告:未知的DOM属性类。 你的意思是className吗?

我刚刚开始探索React,通过添加一个具有简单渲染功能的组件:

render() {
  return <div class="myApp"></div>
}

当我运行应用程序时,我收到以下错误:

Warning: Unknown DOM property class. Did you mean className?

我可以通过将className更改为class来解决此问题。

问题是; React会执行这个约定吗? 另外为什么我需要使用className而不是传统的class? 如果这是一个限制,那么它是由于JSX语法还是其他地方?

trans by 2019-09-10T18:32:37Z

1 2 下一页 共2页