在组件安装之前运行ReactJS内联函数

时间:2019-12-11 01:37:03

标签: javascript reactjs react-component

除非在<option>元素中选择了某个<select>,否则我应该隐藏div

<div id='mailingAddrElms' className='col-md-5 col-sm-6' style={{display: this.showOrHideStateProvince()}}>

showOrHideStateProvince() {
    console.log('showing or hiding state/province options!');
    let mailingAddrElms = document.getElementById('mailingAddrElms');
    let prevAddrElms = document.getElementById('prevAddrElms');
    console.log(mailingAddrElms);
    console.log(prevAddrElms);
}

componentDidMount() {
    console.log('MOUNTED');
}

从该控制台输出可以看到,在组件安装之前正在运行showOrHideStateProvince()方法。

  

显示或隐藏州/省选项!

     

AddressForm.js:181空

     

AddressForm.js:182空

     

AddressForm.js:186安装

非常重要的一点是,在尝试通过ID检索元素之前,我要等待组件挂载,因为这样我的魔术控件就不会变得神奇了……

我们非常感谢您的帮助,这是我使用React的第一个专业项目,而且我没有时间进行升级。

我希望我能分享足够的片段来描绘我的问题,但我确实不能展示更多...

2 个答案:

答案 0 :(得分:0)

您是否尝试在[ [20.0, 38.5], [3.2, 8.5] ] 中调用df_grouped = df.groupby('Category') for group_name, df_group in df_grouped: f = df_group.Count.str.strip("[]") for items, values in f.items(): List = [] s = values.split(",") for i in s: vals = i.strip(" ").split(" ") val1 = float(vals[0]) val2 = float(vals[1]) List.append([val1, val2]) 方法?

答案 1 :(得分:0)

根据@FranreySaycon注释,使用基于组件状态的三元运算符替换div元素上的内联函数调用可以轻松解决此问题。我现在只有一个单独的函数来记录状态,然后三元运算符将样式返回给div。

相关问题