gpt4 book ai didi

javascript - React_Redux : Pass parameter in callback during continually callback function

转载 作者:行者123 更新时间:2023-11-27 22:51:20 25 4
gpt4 key购买 nike

我在回调函数中传递参数时遇到问题。我使用 redux-form,当我更改 SkinList 中的选择时,它会触发 onChange 回调 - activeSkinChange 方法

activeSkinChange中,调用来自SkinList handlSkinChange属性的handlSkinChange。我需要将选择值传递给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>
);
}
}

然后移出 SkinList:

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 Prop 上的 this.onHandlSkinChange() 中传递另一个参数 activeSkin ,但会遇到错误..

表示onHandlSkinChange方法需要传入两个参数,一个是选择值(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)}/>
}/>
);
}
}

关于javascript - React_Redux : Pass parameter in callback during continually callback function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38031084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com