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 无法在“中”的函数中获取当前状态值;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(当前行值不是上一个值) 我在切换方法中得到一个空白变量 如何在中

在上面的代码中,我想访问函数toggle(我正在使用alert显示)中getFruitCode的更新值(在状态中存在)

情景:

  • 我使用的是React表,我从post中填充数据 请求
  • 当我点击表格的任何一行时,我会得到特定的行数据 (因为我们使用的是gettrops={onRowClick})
  • 此外,我正在更新onRowClick中getFruitCode的状态值 使用设置状态
  • 现在我想访问的是 切换方法中的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}`)