【【react hooks】--初渲染和更新阶段】教程文章相关的互联网学习教程文章

javascript – React D3强制布局 – 渲染后几秒钟内圆圈不再可拖动【代码】

我一直试图在React中制作一个可拖动的d3力布局一段时间了. React必须能够与图中的节点进行交互.例如,当您单击节点时,React应该能够返回节点的id onClick. 我根据Shirley Wu的一个例子制作了4个组件.一个App组件,用于保存图形数据的状态并呈现Graph组件.图形组件呈现节点和链接组件.这样,可点击节点部分就可以解决了. 当页面呈现时,节点将只能拖动几秒钟.渲染页面后,您可以立即拖动节点,然后突然,被拖动的节点完全停在一个位置.此时...

javascript – 在React.js中触发子重新渲染【代码】

Parent(我的示例中为MyList)组件通过Child(MyComponent)组件呈现数组. Parent决定更改数组中的属性,React触发子重新呈现的方式是什么? 我想出的就是this.setState({});在调整数据后在Parent中.这是一种触发更新的黑客还是反应方式? JS小提琴:https://jsfiddle.net/69z2wepo/7601/var items = [{id: 1, highlighted: false, text: "item1"},{id: 2, highlighted: true, text: "item2"},{id: 3, highlighted: false, text: "item3...

javascript – 从React Native中的数组映射函数动态渲染内容【代码】

我正在尝试从数组中获取数据并使用map函数来呈现内容.看着**{this.lapsList()}** 和相关的**lapsList()** 功能,以了解我正在尝试做什么.结果是什么都没有显示(视图下的视图等)这是我的简化代码:class StopWatch extends Component {constructor(props) {super(props);this.state = {laps: []}; }render() {return (<View style={styles.container}><View style={styles.footer}><View><Text>coucou test</Text></View>{this.lapsL...

javascript – 如何在点击按钮时渲染元素:ReactJS【代码】

我在您单击按钮时尝试渲染一个段落. 这是我的代码.import React, { Component } from 'react';class App extends Component {constructor() {super();this.createText = this.createText.bind(this);}createText() {return(<p>hello friend</p>)}render() {return (<div className="App"><button onClick={this.createText}>Click</button></div>);} }export default App;在这里,我试图在单击按钮时呈现“你好朋友”.但是没有用.解...

javascript – React.js Serverside渲染和事件处理程序【代码】

我正在学习使用react.js并有一些问题来使用事件处理程序.最后一个问题是:是否可以使用服务器端呈现并自动向客户端发送事件处理程序? 这是我的例子:我有一个index.jsx,我将其呈现给服务器端并发送给客户端var React = require("react"); var DefaultLayout = require("./layout/default");var LikeButton = React.createClass({getInitialState: function() {return {liked: false}; }, handleClick: function(event) {this.setS...

javascript – React onClick函数在渲染时触发【代码】

我将2个值传递给子组件: >要显示的对象列表>删除功能. 我使用.map()函数来显示我的对象列表(如反应教程页面中给出的示例),但该组件中的按钮在渲染时触发onClick函数(它不应在渲染时触发).我的代码看起来像这样:module.exports = React.createClass({render: function(){var taskNodes = this.props.todoTasks.map(function(todo){return (<div>{todo.task}<button type="submit" onClick={this.props.removeTaskFunction(todo)}>...

javascript – Node / React:如何在服务器上渲染时处理jQuery AJAX?

我在Node / Express中有一个小的webapp,它使用react-dom呈现初始的HTML服务器端.然后在页面中填充客户端,并对componentDidMount中的API进行$.ajax调用. HTML会立即加载,但在React启动并完成GET之前,没有任何有用的内容. 这很浪费.最好在渲染初始HTML时点击API.但.我不知道实现这个的干净方法.似乎我可以通过使用stubbed get方法声明一个全局$in节点来获得我想要的东西,但这感觉很脏. 在渲染React组件服务器端时如何实现$.ajax? 代...

javascript – React JS事件不会为最后渲染的元素触发【代码】

我创建了一个拖放界面,最终将其转换为表单生成器.我创建了一个表单生成器http://jsfiddle.net/szASZ/1/的小提琴.当你将其中一个顶部项目拖动到它下面的灰色拖放区域时,一切似乎都正常工作. 但是,我得到的问题是当你刷新页面/小提琴并尝试对放置区域内的项目进行排序时.如果您抓住第一个放置区域顶部的“无线电输入”并将其移动到该放置区域内部或外部,则一切正常. 现在,尝试在其放置区域中拖动最后一项“复选框输入”,所有内容也应...

javascript – 如何在ReactJS中触发模型更改的重新渲染?【代码】

我正在使用创建反应组件React.render(<ReactComponent data="myData">, document.body);一旦数据模型改变,我再次使用调用renderReact.render(<ReactComponent data="myData">, document.body);这是更新我的HTML的正确/推荐方式吗?这将利用React虚拟DOM的优势(即仅渲染实际已更改的元素). 另外,我在传递myData时应该使用状态还是属性?解决方法:您应该只渲染一个执行AJAX请求等的主要App组件,并使用其render函数内的数据模型来更新...

javascript – React-Router:如何测试渲染链接的href?【代码】

我有一个React组件,它呈现< Link />.render: function () {var record = this.props.record;return (<Link to="record.detail" params={{id:record.id}}><div>ID: {record.id}</div><div>Name: {record.name}</div><div>Status: {record.status}</div></Link>); }我可以很容易地获得渲染的< a />,但我不知道如何测试href是否正确构建.function mockRecordListItem(record) {return stubRouterContext(require('./RecordListItem.js...

javascript – 获取React渲染中map返回的数组大小【代码】

我在React组件的render方法中使用了array.map.它可以工作,但我想知道它渲染了多少行.我正在尝试在我的构造函数中初始化this.numRows = 0,然后在map回调中递增它:<div><p>Number of rows = {this.numRows}</p>{this.state.members.map((member) => {if (member.display) {this.numRows++;return <p>{ member.name }</p> }})}</div>但这仍然显示为零.完整代码:jsfiddle.net/ra13jxak/.如何显示返回的行数?解决方法:您可以考虑先过...

javascript – React router v4使用声明性重定向而不渲染当前组件【代码】

我在用户登录后使用类似的代码(如this)在我的应用程序中重定向.代码如下所示:import React, { Component } from 'react' import { Redirect } from 'react-router'export default class LoginForm extends Component {constructor () {super();this.state = {fireRedirect: false}}submitForm = (e) => {e.preventDefault()//if login successthis.setState({ fireRedirect: true })}render () {const { from } = this.props.loca...

javascript – 在React中渲染空白区域【代码】

请参阅下面的代码段.我试图渲染一个闪烁的文本,当它没有出现时,留下一个空的空间.但是,React似乎只是将所有元素一起移除.如何在React中正确渲染空白区域?试图用各种跨度做一些搜索和测试,但仍然没有得到任何地方.谢谢.class Blinker extends React.Component {constructor(props) {super();this.state = {appear: true}this.blinker = this.blinker.bind(this);}blinker() {this.setState({appear: !this.state.appear });}compo...

javascript – 为什么要使用React服务器端渲染

我刚刚学会了反应并打算将它用于我的下一个项目.我遇到了几次反应服务器端渲染,但想知道为什么我们仍然需要它在“现代时代”. 在这个article中,它认为通过服务器端渲染,用户不必等待从CDN或某处加载那些js以查看初始静态页面,并且页面将在js到达时恢复功能. 但是在使用webpack生成配置和gzip构建之后,整个捆绑包(带有react,我的代码和许多其他东西)只需要40kb,而且我有它的CDN.我不太清楚为我的情况使用服务器端渲染的原因. 所以问...

javascript – 行动后React不重新渲染【代码】

我的应用程序有一个带有一系列汤的仪表板.每汤都有能力成为每日汤.因此,每个汤都有一个按钮,如果点击,触发一个动作来更新我的MongoDB,使汤每日汤.当汤是每日汤时,它有3个按钮:删除,低,出.如果单击这些按钮中的任何一个,它们会触发一个操作来更新我的MongoDB以更新该特定的汤.我遇到的问题是,当点击任何这些按钮时,它会执行操作,但不会在屏幕上重新渲染.我必须手动刷新页面才能看到它确实有效. 注意:我使用reduxThunk立即调度操作...