36
bir derin iç içe nesne özelliğini değiştirmek kolaydır nesneleriImmutable.js'de derin bir iç içe geçmiş değeri nasıl ayarlayabilirim? Ben yeni insanlar itiraz var önce her tesisin ataları geçmek zorunda Fakat Immutable ile</p> <pre><code>people.Thomas.nickname = "Mr. T"; </code></pre> <p>: Düz JavaScript ile çalışırken
var thomas = peopleImmutable.get("Thomas");
var newThomas = thomas.set("nickname", "Mr .T");
peopleImmutable = peopleImmutable.set("Thomas", newThomas);
Bunu yazmanın daha zarif bir yolu var mı?
peopleImmutable = peopleImmutable.setIn("Thomas.nickname".split("."), "Mr. T");
nasıl SETIN kullanarak bir boolean geçiş olacaktır: diziyi oluşturmak için
split
kullanarak,Veya: –
@zero_cool: Sanırım insanlarmümkün = peopleImmutable.setIn (["Thomas", "hasNickName"],! PeopleImmutable.getIn (["Thomas", "hasNickName"])); (test edilmemiş) –
@VincentSels Bu mükemmel çalıştı! Tek bir blokta, false'den true'a doğru, derinlemesine iç içe geçirilemez bir nesnede tüm booleanları değiştirmeye ne dersiniz? Örneğin: options = fromJS ({one: {selected: false}, two: {selected: false}}). React'tayım ve nesne boyunca yinelemeye çalışıyorum ve setIn'i kullanın, ancak durum yalnızca son anahtar kümesi için ayarlanmış olur. –