[{"data":1,"prerenderedAt":289},["ShallowReactive",2],{"project-13995891":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":38,"post_text":40,"what":41,"said":70,"maker_in_thread":139,"shape":141,"grid":146,"attempts":253,"same_week":254,"maker_shows":32,"maker_hidden":281,"reader_version":282,"card":283},"13995891","Redux Offline","Build Offline-First Apps for Web and React Native","title","Show HN: Redux Offline – Build Offline-First Apps for Web and React Native","https:\u002F\u002Fgithub.com\u002Fjevakallio\u002Fredux-offline","github.com","thekenwheeler",1490885740,2017,174,41,203,2242,10,"notable","languages","state management library","library",[24,25,26,27],"redux","offline first","react native","optimistic updates","curious",-0.118,{"positive":31,"neutral":32,"mixed":33,"critical":34},1,5,0,2,8,{"idea":37},{"positive":31,"critical":34},[33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,32,31,33,33,33,33,33,33,39,31,39,39,39,39],3,null,{"problem":42,"audience":54,"pricing":40,"motivation":40,"time_to_build":40,"stack":59,"openness":68,"stage":69,"team_size":69},{"value":43,"source":44,"evidence":45},"Handling offline use and retrying network requests in Redux apps","inferred",[46,50],{"id":47,"by":48,"text":49},"14001906","jevakallio","Hi! I'm the author of the library, and just wanted to say that you are absolutely correct about Redux Offline not being a suitable solution for weeks of active offline use :)…",{"id":51,"by":52,"text":53},"13998572","WA","Please note: This is certainly a very helpful library, but it's made to work with some kind of server\u002FAPI. The defaults assume you get a connection again within one hour.…",{"value":55,"source":44,"evidence":56},"Developers building Redux apps for web and React Native",[57],{"id":58},"post",[60,64],{"value":61,"source":44,"evidence":62},"Redux",[63],{"id":58},{"value":65,"source":44,"evidence":66},"React Native",[67],{"id":58},"open_source","unknown",{"praise":71,"objections":87,"requests":99,"questions":100,"alternatives":105},[72,80],{"value":73,"source":74,"evidence":75},"Optimistic updates with rollbacks are neat","commenter",[76],{"id":77,"by":78,"text":79},"13996800","matmo","Slightly off topic, but how do people manage state that aren't using Redux? When you google \"redux alternatives\", you typically get results for different flavors or variants of…",{"value":81,"source":74,"evidence":82},"Flexible custom resolvers",[83],{"id":84,"by":85,"text":86},"13997820","tonyhb","This looks pretty solid, and the ability to create our own resolvers makes things much more flexible. Currently creating a cross-platform react native app using realm.io for…",[88,92],{"value":89,"source":74,"evidence":90},"Not suitable for weeks of fully offline use with default retry limits",[91],{"id":51,"by":52,"text":53},{"value":93,"source":74,"evidence":94},"Redux may be overkill for apps with little user input",[95],{"id":96,"by":97,"text":98},"13997131","LAMike","I'm re-learning Redux now, does anyone else think that it might be overkill for an app that doesn't require any user input?",[],[101],{"value":102,"source":74,"evidence":103},"Are there alternatives to Redux for state management?",[104],{"id":77,"by":78,"text":79},[106,117,121,128,132],{"value":107,"source":74,"evidence":108},"MobX",[109,113],{"id":110,"by":111,"text":112},"13996867","bryanlarsen","MobX is quite popular, and I wouldn't call it a variant of redux. Also, just storing state in your higher level components can work for much more complicated apps than many think.",{"id":114,"by":115,"text":116},"13997198","jasdeepsingh","I've been using Mobx very successfully on many of my projects now (both React & React Native). I'll prefer Mobx any day over Redux, just due to it's sheer simplicity and ease of…",{"value":118,"source":74,"evidence":119},"PouchDB",[120],{"id":51,"by":52,"text":53},{"value":122,"source":74,"evidence":123},"Baobab",[124],{"id":125,"by":126,"text":127},"13997109","enobrev","I've been using baobab[1] which is: > a JavaScript persistent and immutable (at least by default) data tree supporting cursors and enabling developers to easily navigate and…",{"value":129,"source":74,"evidence":130},"Realm",[131],{"id":84,"by":85,"text":86},{"value":133,"source":74,"evidence":134},"Vuex",[135],{"id":136,"by":137,"text":138},"13999719","happyslobro","I just came across Vue.js the other day, while exploring options for quickly banging out small tools. Getting tired of the clutter in a full-featured React project. It offers…",{"comments":33,"answered":33,"key":140},[],{"commenters":142,"max_depth":143,"maker_replies":33,"first_comment_mins":144,"lifespan_hours":145},35,4,95,42,[147,151,153,154,157,160,163,166,169,170,172,175,178,179,182,185,188,191,195,198,201,204,207,210,211,214,217,219,221,224,227,229,231,233,236,238,239,242,245,247,250],[148,33,33,149,150,33],"13997709","other\u002Fneutral\u002Fnone","acemarke",[77,31,33,152,78,33],"other\u002Fneutral\u002Fidea",[110,31,33,152,111,33],[155,31,33,152,156,33],"13997267","mercer",[158,31,33,152,159,33],"13998478","samsonradu",[161,31,33,152,162,33],"14000094","charrondev",[164,31,33,152,165,33],"13996883","ojr",[167,31,33,152,168,33],"13996901","tcoff91",[125,31,33,152,126,33],[171,31,33,152,156,33],"13997285",[173,31,33,152,174,33],"14002624","egeozcan",[176,31,33,152,177,33],"13997148","RussianCow",[114,31,33,152,115,33],[180,31,33,152,181,33],"13998198","timdorr",[183,31,33,152,184,33],"13998823","Kiro",[186,31,33,152,187,33],"13999677","rawrmaan",[189,31,33,152,190,33],"14002698","hesarenu",[192,31,33,193,194,33],"14011321","other\u002Fneutral\u002Fdocs","diehell",[196,31,33,152,197,33],"13997314","poorman",[199,31,33,152,200,33],"13997460","fiatjaf",[202,31,33,152,203,33],"13997507","capocannoniere",[205,31,33,152,206,33],"13997834","losteric",[208,31,33,152,209,33],"13998107","andreasklinger",[136,31,33,152,137,33],[212,31,33,152,213,33],"14001740","maaaats",[215,31,33,152,216,33],"14002085","weavie",[84,34,32,218,85,33],"project\u002Fpositive\u002Fidea",[51,39,31,220,52,33],"project\u002Fcritical\u002Fidea",[222,39,33,152,223,33],"13999461","tarr11",[225,39,33,152,226,33],"14000266","jinjin2",[228,39,33,152,52,33],"14001623",[230,39,33,152,52,33],"14001953",[232,39,33,152,223,33],"14006294",[234,39,33,152,235,33],"14002492","mbrookes",[47,39,39,237,48,33],"maker\u002Fneutral\u002Fidea",[96,143,31,220,97,33],[240,143,39,241,177,33],"13997156","project\u002Fneutral\u002Fidea",[243,143,39,241,244,33],"13997221","hamstercat",[246,143,39,241,156,33],"13997311",[248,143,39,241,249,33],"13998773","ng12",[251,143,33,149,252,33],"14000475","dopeboy",[],[255,260,264,268,273,277],{"id":256,"name":257,"points":258,"category":259},"14032201","React-data sheet",345,"dev_tools",{"id":261,"name":262,"points":263,"category":259},"14023196","Is It Snappy?",293,{"id":265,"name":266,"points":267,"category":259},"14022059","develmail",149,{"id":269,"name":270,"points":271,"category":272},"14007257","Interactive ClojureScript book",134,"learning_science",{"id":274,"name":275,"points":276,"category":272},"14043519","Robotopia",133,{"id":278,"name":279,"points":280,"category":20},"14041400","AcrossTabs",107,false,"v2",{"id":284,"name":5,"line":6,"ai":281,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":285,"top":18,"kw":286,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":287,"url":9,"mix":288,"praise":73,"objection":89,"sub":21},13995891,-0.12,[24,25,26,27],"0000000000000000000000000051000000313333",[31,32,33,34],1793990957146]