Javascript 状态更改但未反映在DOM中

Javascript 状态更改但未反映在DOM中,javascript,reactjs,Javascript,Reactjs,我还是个新手,我正在开发一个基本的选举排序应用程序,它汇总两个主要政党中各个州的选举结果,然后确定谁的总票数更高。我将项目的主要任务分为3个阶段,第一个阶段是能够添加各个州的结果,我已经完成了。第二个是能够显示最新的州结果,而最后一个是汇总选票并确定获胜者 我目前处于第二阶段,我遇到的问题是,在添加一个新的状态条目后,该值不会显示在DOM中,即使当我使用React扩展时,它显示状态(我指的是React状态)实际上已经更改。我将把代码中我认为是错误的部分粘贴到这里,并包含到github存储库的链接

我还是个新手,我正在开发一个基本的选举排序应用程序,它汇总两个主要政党中各个州的选举结果,然后确定谁的总票数更高。我将项目的主要任务分为3个阶段,第一个阶段是能够添加各个州的结果,我已经完成了。第二个是能够显示最新的州结果,而最后一个是汇总选票并确定获胜者

我目前处于第二阶段,我遇到的问题是,在添加一个新的状态条目后,该值不会显示在DOM中,即使当我使用React扩展时,它显示状态(我指的是React状态)实际上已经更改。我将把代码中我认为是错误的部分粘贴到这里,并包含到github存储库的链接

这是一个完全针对个人的教育项目。我将感谢任何帮助,可以帮助我知道如何使新进入的国家,我的意思是国家国家,而不是反应状态显示。


}

好的,我看了一下您的Github回购协议,您有两个主要问题:

首先,您正在AddStateResuts处调用函数handleSubmit,但没有传递使其工作所需的e参数

如果你看一下你的开发工具控制台,肯定会有一个警告

您可以在组件AddStateResults的第8行进行如下修复:

    <form onSubmit={e => this.props.handleSubmit(e)}>
其次,即使它现在显示APC和PDP值,也不会显示状态名称

这是因为您在AddStateResuts中将其命名为nameofstate,而在DataSource和App中将其命名为name。 我所做的工作是在数据源、DisplayStateResult和应用程序组件中将所有与state name有关的name实例更改为nameofstate,因为它更具体,现在工作起来就像一个符咒


很好的编码,我对React也有点陌生,一开始可能会有点困惑,我建议您始终关注普通的开发工具控制台,而不仅仅是React工具。

这段代码非常难阅读。。。实际上是这样写的吗?我会考虑使用类似的东西。格式化它并更新你的帖子。还包括整个组件,而不仅仅是这一节name={datasource.name}应该是name={datasource.nameofstate}@ShishirArora数据源文件不包含nameofstate属性。不起作用。Github链接包含导入到组件的文件。azium谢谢,我会看一下,但是Github链接包含完整的组件。但是你正在读这个.state.stateVote[]。名称不存在,还应使用datasourceYes初始化状态。我使用setstate将数组更新到正在导入的文件中。这是组件安装功能。非常感谢。但即使没有在formsubmit中声明e,它仍然有效。主要问题是Datasource中的名称,我认为它独立于其他组件。再次感谢。不需要也不建议使用匿名函数,因为它会为每次重新渲染创建一个新函数。只要回调接受单个事件参数,如:handleSubmite。然后你可以做:。如果需要向回调传递附加参数,则可以使用:this.props.handleSubmite,additionalParameter}>。或者像我在这里所做的那样,通过创建额外的PureComponent来使用匿名函数进行缓解:。
    <form onSubmit={e => this.props.handleSubmit(e)}>