React_Redux: 连续回调函数中回调传参
React_Redux: Pass parameter in callback during continually callback function
我在回调函数中传递参数时遇到问题。我使用 redux-form
,当我在 SkinList
中更改 select 时,它会触发 onChange
回调 - activeSkinChange
方法
在 activeSkinChange
中,调用来自 SkinList handlSkinChange 属性 的 handlSkinChange
。
我需要将 select 值传递给 handlSkinChange (event.target.value)
export default class SkinList extends Component {
activeSkinChange = (event) => {
this.props.handlSkinChange(event.target.value);
}
render() {
const { skinList, activeSkin } = this.props;
return (
<div>
<select className="form-control" onChange={this.activeSkinChange} value={activeSkin}>
{this.renderOptions(skinList)}
</select>
</div>
);
}
}
然后移出皮肤列表:
export default class Control extends Component {
onHandlSkinChange = (?, ?) => {
};
render() {
return (
<Field
name="skin.colors.activeSkin"
component={activeSkin =>
<SkinList skinList={skinList} activeSkin={activeSkin} handlSkinChange={this.onHandlSkinChange(activeSkin)}/>
}/>
);
}
}
handlSkinChange
会触发回调this.onHandlSkinChange
,
我还需要在 SkinList 道具的 this.onHandlSkinChange()
中传递另一个参数 activeSkin
,但是它会遇到错误..
表示onHandlSkinChange
方法需要传入两个参数,一个是select离子值(event.target.value),另一个是activeSkin
在连续回调函数中,我应该如何让我在回调函数中传递参数?
有什么想法吗?
export default class SkinList extends Component {
activeSkinChange (event){
this.props.handlSkinChange(event.target.value);
}
render() {
const { skinList, activeSkin } = this.props;
return (
<div>
<select className="form-control" onChange={this.activeSkinChange.bind(this)} value={activeSkin}>
{this.renderOptions(skinList)}
</select>
</div>
);
}
}
export default class Control extends Component {
onHandlSkinChange (value, activeSkin ) {
console.log("CHECK",value,activeSkin);
}
render() {
return (
<Field
name="skin.colors.activeSkin"
component={activeSkin => <SkinList skinList={skinList} activeSkin={activeSkin}
handlSkinChange={v=>this.onHandlSkinChange(v,activeSkin)}/>
}/>
);
}
}
我在回调函数中传递参数时遇到问题。我使用 redux-form
,当我在 SkinList
中更改 select 时,它会触发 onChange
回调 - activeSkinChange
方法
在 activeSkinChange
中,调用来自 SkinList handlSkinChange 属性 的 handlSkinChange
。
我需要将 select 值传递给 handlSkinChange (event.target.value)
export default class SkinList extends Component {
activeSkinChange = (event) => {
this.props.handlSkinChange(event.target.value);
}
render() {
const { skinList, activeSkin } = this.props;
return (
<div>
<select className="form-control" onChange={this.activeSkinChange} value={activeSkin}>
{this.renderOptions(skinList)}
</select>
</div>
);
}
}
然后移出皮肤列表:
export default class Control extends Component {
onHandlSkinChange = (?, ?) => {
};
render() {
return (
<Field
name="skin.colors.activeSkin"
component={activeSkin =>
<SkinList skinList={skinList} activeSkin={activeSkin} handlSkinChange={this.onHandlSkinChange(activeSkin)}/>
}/>
);
}
}
handlSkinChange
会触发回调this.onHandlSkinChange
,
我还需要在 SkinList 道具的 this.onHandlSkinChange()
中传递另一个参数 activeSkin
,但是它会遇到错误..
表示onHandlSkinChange
方法需要传入两个参数,一个是select离子值(event.target.value),另一个是activeSkin
在连续回调函数中,我应该如何让我在回调函数中传递参数?
有什么想法吗?
export default class SkinList extends Component {
activeSkinChange (event){
this.props.handlSkinChange(event.target.value);
}
render() {
const { skinList, activeSkin } = this.props;
return (
<div>
<select className="form-control" onChange={this.activeSkinChange.bind(this)} value={activeSkin}>
{this.renderOptions(skinList)}
</select>
</div>
);
}
}
export default class Control extends Component {
onHandlSkinChange (value, activeSkin ) {
console.log("CHECK",value,activeSkin);
}
render() {
return (
<Field
name="skin.colors.activeSkin"
component={activeSkin => <SkinList skinList={skinList} activeSkin={activeSkin}
handlSkinChange={v=>this.onHandlSkinChange(v,activeSkin)}/>
}/>
);
}
}