小编Dan*_*Dan的帖子

为什么调用setState方法不会立即改变状态?

好的,我会尽快做到这一点,因为它应该是一个简单的解决方案......

我读了很多类似的问题,答案似乎很明显.从来没有什么我不得不抬头看!但是......我有一个错误,我无法理解如何解决或为什么会发生这种情况.

如下:

class NightlifeTypes extends Component {
constructor(props) {
    super(props);

    this.state = {
        barClubLounge: false,
        seeTheTown: true,
        eventsEntertainment: true,
        familyFriendlyOnly: false
    }
    this.handleOnChange = this.handleOnChange.bind(this);
}

handleOnChange = (event) => {   
    if(event.target.className == "barClubLounge") {
        this.setState({barClubLounge: event.target.checked});
        console.log(event.target.checked)
        console.log(this.state.barClubLounge)
    }
}

render() {
    return (
        <input className="barClubLounge" type='checkbox' onChange={this.handleOnChange} checked={this.state.barClubLounge}/>
    )
}
Run Code Online (Sandbox Code Playgroud)

更多代码围绕着这个,但这就是我的问题所在.应该工作吧?

我也试过这个:

handleOnChange = (event) => {   
if(event.target.className == "barClubLounge") {
    this.setState({barClubLounge: !this.state.barClubLounge});
    console.log(event.target.checked)
    console.log(this.state.barClubLounge)
}
Run Code Online (Sandbox Code Playgroud)

所以我有两个console.log(),都应该是一样的.我确实将状态设置为与event.target.checked它上面的行相同!

但它总是与它应该的相反.

我使用时也一样!this.state.barClubLounge; 如果它开始为假,在我第一次点击它仍然是假的,即使复选框是否被选中是基于状态!!

这是一个疯狂的悖论,我不知道最新情况,请帮忙!

html javascript event-handling reactjs

42
推荐指数
1
解决办法
6112
查看次数

可以用电子表格/ CSV填充Google表单的问题吗?

我已经走遍了互联网,虽然我相当肯定这仅仅是不可能的由于由谷歌设计形式,但如果有人有办法做到这一点,无论是通过运行一个脚本或只是一个聪明的解决办法,对我有很大帮助!

请允许我分解一下我要完成的工作:

我有一个电子表格,其中包含约600多个条目。

我需要填写表格,每个问题都是电子表格中的一行,每个问题都有一个空白的短文本答案。

我正在尝试用英语短语填充问题,以便第三方可以轻松地在Answer空格中填写西班牙语翻译。

我只能找到Answer用电子表格数据填充方法(例如,将列复制粘贴到多选答案中),但是我需要它来填充Question,而留下空白答案。

TL:DR我希望能够制作600个问题表格,每个问题都从我的.csv /电子表格的一行中填充。

这可能吗?如果有人对我的要求感到困惑,我确实觉得我可以更好地表达这个问题,请让我知道,我将进行修改!

谢谢

forms csv spreadsheet google-sheets google-forms

5
推荐指数
0
解决办法
7266
查看次数