Reactjs 无法在“中”的函数中获取当前状态值;React.js“; export-class-shoppage扩展组件{ 建造师(道具){ 超级(道具) 此.state={ getFruitCode:“” } this.toggle=this.toggle.bind(this); } 切换(){ 警报(“获取数据的更新值::”,this.state.getFruitCode); } render(){ 常量列=[ { 标题:“Sr.No”, id:“行”, 最大宽度:50, 单元格:(行)=>{ 返回{row.index+1} } }, { 标题:“水果代码”, 存取器:'水果代码' } ]; const onRowClick=(状态、行信息、列、实例)=>{ 返回{ onClick:e=>{ 让fruitCodeValue=JSON.parse(JSON.stringify(rowInfo.original)).fruitCode; 这是我的国家({ getFruitCode:fruitCodeValue, }); } } } 返回( 水果店 水果店 购买 ) } }
在上面的代码中,我想访问函数toggle(我正在使用alert显示)中getFruitCode的更新值(在状态中存在) 情景:Reactjs 无法在“中”的函数中获取当前状态值;React.js“; export-class-shoppage扩展组件{ 建造师(道具){ 超级(道具) 此.state={ getFruitCode:“” } this.toggle=this.toggle.bind(this); } 切换(){ 警报(“获取数据的更新值::”,this.state.getFruitCode); } render(){ 常量列=[ { 标题:“Sr.No”, id:“行”, 最大宽度:50, 单元格:(行)=>{ 返回{row.index+1} } }, { 标题:“水果代码”, 存取器:'水果代码' } ]; const onRowClick=(状态、行信息、列、实例)=>{ 返回{ onClick:e=>{ 让fruitCodeValue=JSON.parse(JSON.stringify(rowInfo.original)).fruitCode; 这是我的国家({ getFruitCode:fruitCodeValue, }); } } } 返回( 水果店 水果店 购买 ) } },reactjs,Reactjs,在上面的代码中,我想访问函数toggle(我正在使用alert显示)中getFruitCode的更新值(在状态中存在) 情景: 我使用的是React表,我从post中填充数据 请求 当我点击表格的任何一行时,我会得到特定的行数据 (因为我们使用的是gettrops={onRowClick}) 此外,我正在更新onRowClick中getFruitCode的状态值 使用设置状态 现在我想访问的是 切换方法中的getFruitCode(当前行值不是上一个值) 我在切换方法中得到一个空白变量 如何在中
警报函数只有一个参数,所以只需按如下所示更改代码
export class FruitShopPage extends Component {
constructor(props) {
super(props)
this.state = {
getFruitCode: ''
}
this.toggle = this.toggle.bind(this);
}
toggle() {
alert("Get Updated value of data::",this.state.getFruitCode);
}
render() {
const columns = [
{
Header: 'Sr.No',
id: "row",
maxWidth: 50,
Cell: (row) => {
return <div>{row.index + 1}</div>
}
},
{
Header: 'Fruit Code',
accessor: 'fruitCode'
}
];
const onRowClick = (state, rowInfo, column, instance) => {
return {
onClick: e => {
let fruitCodeValue = JSON.parse(JSON.stringify(rowInfo.original)).fruitCode;
this.setState({
getFruitCode: fruitCodeValue,
});
}
}
}
return (
<div>
<Button onClick={this.toggle}>Fruit Shop</Button>
<Modal isOpen={this.state.collapse} size="lg">
<ModalHeader>Fruit shop</ModalHeader>
<ModalBody>
<div className="form-group">
<div>
<ReactTable
data={this.state.listFruitsData}
columns={columns}
defaultPageSize={10}
getTrProps={onRowClick}
/>
</div>
<div>
<Row>
<Button type="submit" onClick=
{this.toggle}>Buy</Button>
</Row>
</div>
</div>
</ModalBody>
</Modal>
</div>
)
}
}
如果设置了状态,它应该可以正常工作您的代码已经在工作了。只是您为
警报编写了错误的代码
alert("Get Updated value of data::" + this.state.getFruitCode)
就这样。您是否正在获取果蔬编码值中的数据?执行console.log并告诉我们在这个.setState({GetFrootCode:FrootCodeValue,})之前您在console.log(FrootCodeValue)中得到了什么;是的,我正在获取FruitCodeValues的值,但如果我必须在console.log(this.state.getFruitCode)中打印它,它不会打印值,这肯定也会在console中工作。这是你的小演示链接。
alert(`Get Updated value of data: ${this.state.getFruitCode}`)