Javascript React Alt同步调用存储方法

Javascript React Alt同步调用存储方法,javascript,reactjs,alt,Javascript,Reactjs,Alt,在开发React/Alt应用程序时,我面临一个非常常见的场景: 在根组件中,在按钮单击处理程序中,我需要在触发操作之前检查特定存储中的值是否有效。由于必须计算该值,因此该值在存储状态下尚不可用。 因此,我必须调用一个与存储方法相关联的操作,该存储方法将计算值。结果将以存储的状态存储,并可在根组件的侦听处理程序中使用。 不幸的是,在本例中,我丢失了用户操作的初始上下文。 我想同步计算该值并在相同的上下文中检索它。有办法吗?在这种情况下,最佳做法是什么? 谢谢。您可以将验证逻辑拆分为单独的模块。然后


在开发React/Alt应用程序时,我面临一个非常常见的场景:
在根组件中,在按钮单击处理程序中,我需要在触发操作之前检查特定存储中的值是否有效。由于必须计算该值,因此该值在存储状态下尚不可用。
因此,我必须调用一个与存储方法相关联的操作,该存储方法将计算值。结果将以存储的状态存储,并可在根组件的侦听处理程序中使用。
不幸的是,在本例中,我丢失了用户操作的初始上下文。
我想同步计算该值并在相同的上下文中检索它。有办法吗?在这种情况下,最佳做法是什么?

谢谢。

您可以将验证逻辑拆分为单独的模块。然后,在
onClick
处理程序上,您可以使用
store.getState()
或组件的道具执行此验证逻辑。验证逻辑将与您的组件分离,这使得它易于测试和重用,而且它不会使您的组件变得混乱,组件应该更关注界面的行为。

所以我假设该状态的实际值不取决于按钮本身?如中所示,按钮不会更改值,例如,文本输入是。我要做的是将按钮状态保持为禁用状态,直到值正确为止,或者确保按下按钮时,状态已经计算出来。这可以简单地通过使用示例文本输入,将输入的更改推送到存储并计算它来完成。这样,您始终具有正确的状态。您能否详细说明为什么该值在存储状态下不可用?更准确的示例是处理所有表单值的表单存储。好的,那么按钮上的操作如何处理过时的存储?抱歉,我在编写注释时出错:更相关的示例是处理表单所有值的表单存储。当用户单击按钮时,无论按钮是什么,我都需要检查表单是否有效(遍历值并验证它们)。为了使状态始终保持最新,我应该在用户每次与输入交互时验证表单。这个解决方案对性能非常贪婪。我只需要验证一下表格。啊,明白了。我通常在每次更新时都会验证表单,但这显然会带来性能下降。您所能做的不是在商店中进行验证,而是在一个单独的模块中进行验证,然后按下按钮进行验证。因此,您可以使用道具或store.getState()并将其输入到库中。这样行吗?我在一个地方用这个。将其分离为一个模块使其可测试+可重用,并从react组件中删除逻辑。