在redux状态下引用嵌套子对象的输入值未更新

时间:2017-11-28 18:10:12

标签: javascript reactjs redux react-redux reducers

我在redux上有一个函数,它接受一个对象,需要更新的值的路径以及值。

我输入的值等于状态对象的值。

当listingObj在redux上发生变化时,我需要dom来刷新。

我之所以需要这样做是因为我有一个自动填充公司,当用户选择公司时,它会相应地更新关于redux状态的listingObj上的所有值。

提前致谢!

private string GetSignerUrl(string uri, string name, string email, string returnUrl, string clientUserId)
{
    string recipientUrl = _baseUrl + uri + "/views/recipient";

    RecipientViewRequestModel recipient1 = new RecipientViewRequestModel
    {
        clientUserId = clientUserId,
        authenticationMethod = "email",
        email = email,
        returnUrl = returnUrl,
        userName = name
    };

    // make call
    string recipient1JsonSerialized = Newtonsoft.Json.JsonConvert.SerializeObject(recipient1);
    HttpWebRequest request = InitializeRequest(recipientUrl, "POST", recipient1JsonSerialized);
    string response = GetResponseBody(request);
    string signerUrl = ParseDataFromResponse(response, "url"); // parse signing url
    return signerUrl;
}

1 个答案:

答案 0 :(得分:0)

当您使用redux更新值时,将在订阅redux商店的该部分的任何组件中调用componentWillReceiveProps。您可以使用setState中的componentWillReceiveProps更新状态中的某些值,这些值将触发render。但是,如果状态不需要更新以反映更改,您也可以使用this.forceUpdate(),这将强制DOM再次渲染,尽管没有变化。值得注意的是forceUpdate()应该谨慎使用。