gpt4 book ai didi

javascript - React - 如何在组件内打印输入 onChange 的值

转载 作者:行者123 更新时间:2023-12-01 03:59:07 24 4
gpt4 key购买 nike

这是我的组件:

export default function ImageUpload({ onSuccess, children}) {

let value = '';
const onUpload = async (element) => {
element = element.target.files;
let response;
// Call endpoint to upload the file
value = element[0].name;
return onSuccess(response.url);
};

return <div>
<div >
{children}
<input type="file" id="upload" onChange={onUpload.bind(this)} />
</div>
<span>{value}</span>
</div>;
}

我想在范围内打印用户选择的文件的名称。我使用 redux 来表示状态,但是这些信息不属于状态。这种方法行不通,有人能解释一下为什么吗?

更新因为看起来没有办法在没有声明的情况下实现这一点,所以我的问题是关于最好的方法:如果我不需要组件外部的这个值或者使用组件的内部状态但最终同时拥有 Redux 和这个状态,也可以使用 Redux 吗?

最佳答案

我可以考虑改变方法,并将您的组件转换为类类型组件,类似这样:

export default class ImageUpload extends Component {
constructor() {
this.state = {
value: ''
}
this.onUpload = this.onUpload.bind(this)
}

onUpload() {
let value = '';
const onUpload = async (element) => {
element = element.target.files;
let response;
// Call endpoint to upload the file
value = element[0].name;
this.props.onSuccess(response.url);
this.setState({ value: value })
};
}

render () {
return <div>
<div >
{children}
<input type="file" id="upload" onChange={this.onUpload} />
</div>
<span>{this.state.value}</span>
</div>;
}

}

关于javascript - React - 如何在组件内打印输入 onChange 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42349774/

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