Javascript setstate在状态转换期间无法更新-react
我正在尝试从它的子组件更改图像源Javascript setstate在状态转换期间无法更新-react,javascript,reactjs,Javascript,Reactjs,我正在尝试从它的子组件更改图像源url。如果他们点击按钮1,背景图像的索引0array`将成为图像源。按钮2为索引1,按钮3为索引2 但它显示setstate无法在现有状态转换期间更新 下面我附上代码 App.jsx var React=require('React'); var ReactDOM=require('react-dom'); var ChildComponent=require('./ChildComponent.jsx'); var Hello=React.createClas
url。如果他们点击按钮1,背景图像的索引0
array`将成为图像源。按钮2为索引1,按钮3为索引2
但它显示setstate无法在现有状态转换期间更新
下面我附上代码
App.jsx
var React=require('React');
var ReactDOM=require('react-dom');
var ChildComponent=require('./ChildComponent.jsx');
var Hello=React.createClass({
getInitialState:函数(){
返回{
背景图片:'https://images.unsplash.com/photo-1464013778555-8e723c2f01f8?ixlib=rb-0.3.5&q=80&fm=jpg&crop=熵&s=4b2c415f63f63afa66a347f993351bee'
};
},
把手背景变化:功能(imageIndex){
这是我的国家({
背景图片:这个.背景[图片索引]
});
},
背景:[
'https://images.unsplash.com/photo-1464013778555-8e723c2f01f8?ixlib=rb-0.3.5&q=80&fm=jpg&crop=熵&s=4b2c415f63f63afa66a347f993351bee',
'https://images.unsplash.com/photo-1463595373836-6e0b0a8ee322?ixlib=rb-0.3.5&q=80&fm=jpg&crop=熵&s=69a198dc9bfba968b5deb20c04cec8c9',
'https://images.unsplash.com/photo-1462819067004-905a72ea3996?ixlib=rb-0.3.5&q=80&fm=jpg&crop=熵&s=4832f28a526c7a3538a887b8fbbfe897'
],
render:function(){
返回(
);
}
});
var element=React.createElement(Hello,{});
render(元素,document.querySelector('.container');
child-component.jsx
var React=require('React');
module.exports=React.createClass({
把手背景变化:功能(imageIndex){
此.道具.把手背景变化(imageIndex);
},
render:function(){
返回(
图1
图2
图3
)
}
});
据我所知,我没有在代码中使用任何非法状态转换或setState()
方法。请帮我把这个修好。提前感谢。当你写信时
onClick = {this.handleBackgroundChange(0)}
您直接执行函数,而不是给出他的引用,请像这样尝试
onClick = {this.handleBackgroundChange.bind(this, 0)}
我也有这个问题,我做了(从同事的代码中偷来的)像
const handleBackgroundChange=()=>这个。handleBackgroundChange(0)
不需要bind()
这个建议没有给出任何错误。谢谢,但主要问题是图像没有被改变。但是此.state.backgroundImage
正在更改。很抱歉先前的答复。这很好用。但问题是我的网络很慢。加载完整映像后,正在更改映像。非常感谢。
onClick = {this.handleBackgroundChange(0)}
onClick = {this.handleBackgroundChange.bind(this, 0)}