草庐IT

react-native-firebase

全部标签

javascript - Firebase 持久性 - onDisconnect 与多个浏览器窗口

我们正在编写一个监控在线状态的应用程序。在多种情况下,我们需要用户打开多个浏览器窗口。我们遇到了一个问题,用户在辅助浏览器窗口中打开并运行firebasejs代码后,将关闭该辅助窗口。这会将它们在主窗口中设置为离线,因为onDisconnect事件会在辅助窗口中触发。这种情况有解决方法吗?这是可以使用特殊/.info/connected位置的地方吗? 最佳答案 .info/connected存在数据仅告诉给定客户端它们是否链接到Firebase服务器,因此在这种情况下它不会帮助您。您可以尝试以下方法之一:如果离线则重置变量如果您有多

javascript - 在 React 中有条件地渲染或有条件地添加一个类来隐藏元素是更好的做法

就我的React经验而言,我有两种方法可以根据props/state从React组件输出/渲染中隐藏一些渲染的HTML:用一些条件逻辑包围有问题的HTML/JSX,或者有条件地向该元素添加一个类,让CSS控制显示/可见性我想知道哪个是最佳实践?我有一种预感,使用CSS方法可能会带来一些性能提升,因为浏览器不需要那么频繁地操作DOM。或者,有时从DOM中完全删除一个元素会很好。有什么见解吗? 最佳答案 我问了一个类似的问题,并收到了React核心团队成员之一SophieAlpert的回复。Basicallyinmostcasesit'

javascript - React/Redux + super 代理,第一次调用被终止

我正在编写一个react-redux应用程序,我在其中使用superagent在我的中间件中进行一些服务调用。我发现了一个非常奇怪的行为,即对我的搜索api的第一次调用总是被终止。我试过在调用第一个电话之前等待10-30秒,并记录过程中的每一步,但我似乎无法查明为什么会发生这种情况。我的Action创作者看起来像exportfunctiongetSearchResults(searchQuery){return{query:searchQuery,type:actions.GO_TO_SEARCH_RESULTS}}它在这里命中了中间件逻辑:vardefaultURL='/myServ

javascript - React Native 上的背景图片和 ScrollView

我正在使用ReactNative构建一个应用程序,并希望获得一个背景图像和一个覆盖在背景图像之上的ScrollView,例如雅虎天气应用程序。但我无法让它工作。请帮忙。 最佳答案 要得到这个效果,你需要设置一个绝对定位的图片,然后在View上面放一个ScrollView:'usestrict';varReact=require('react-native');var{AppRegistry,StyleSheet,Text,View,Dimensions,ScrollView,Image}=React;letwidth=Dimensi

javascript - React - 将 ref 传递给 sibling

我需要2个同级组件,其中1个必须引用另一个-这可能吗?我试过这个:ok甚至这个okthis.refs.btn}/>但是我在这两种情况下都得到了undefined。有什么想法吗?注意:父组件对我不起作用,因为我需要有多组这样的组件,比如不是这样的: 最佳答案 认为这个问题最好由docs回答:IfyouhavenotprogrammedseveralappswithReact,yourfirstinclinationisusuallygoingtobetotrytouserefsto"makethingshappen"inyourapp

javascript - 如何在单击按钮时添加 React 组件?

我想要一个Addinput按钮,单击该按钮将添加一个新的Input组件。以下是我认为是实现我想要的逻辑的一种方法的React.js代码,但不幸的是它不起作用。我得到的异常是:invariant.js:39UncaughtInvariantViolation:ObjectsarenotvalidasaReactchild(found:objectwithkeys{input}).Ifyoumeanttorenderacollectionofchildren,useanarrayinsteadorwraptheobjectusingcreateFragment(object)fromthe

javascript - 如何让 Materialize select 下拉菜单与 React 一起使用?

添加以下模板代码providedbyMaterialize不会立即在React组件中工作:ChooseyouroptionOption1Option2Option3MaterializeSelect如何解决这个问题,以便选择下拉菜单正常工作? 最佳答案 解决方法是使用browserdefault作为类名。ChooseyouroptionOption1Option2Option3MaterializeSelect 关于javascript-如何让Materializeselect下拉菜单与

javascript - 如何使用 Firebase 按时间戳排序?

我正在尝试使用orderByChild()在Firebase中按时间戳进行排序,但它不起作用。结果似乎是按键排序的,而Firebase似乎忽略了orderByChild()。从时间上可以看出,这些结果并不是按时间戳排序的。lorem-ipsum-dolor-si-17/6/2016alas8:51:33lorem-ipsum-dolor-si193-17/6/2016alas8:51:37lorem-ipsum-dolor-si297-17/6/2016alas8:51:43lorem-ipsum-dolor-si402-17/6/2016alas8:51:38这是我获取数据的方式:l

javascript - 防止 react-router history.push 重新加载当前路由

我正在使用react-router迈出我的第一步。我目前正在使用hashHistory进行开发,并且我正在执行“手动”导航。也就是说,我不使用Link,而是调用history.push('/some/route');为了导航(响应对anchor标签的普通点击)。我注意到的是,即使我已经在目标路线上,react-router也会在每次history.push('/target/route');被调用:在每个push('/target/route')上:URL的片段部分仍然是#/target/routeURL的查询字符串部分更改为?_k=somethingRandom目标组件重新渲染我希望

javascript - React Native AsyncStorage getItem 返回 promise 而不是值(value)

我有一个登录表单,我可以发布表单值。成功的POST请求后,我获得了从API返回的身份验证token。我需要将此token保存在本地存储中以备将来引用。为了保存这个授权token,我使用了AsyncStorage。我使用AsyncStorage.setItem(STORAGE_KEY,responseData.auth_token);setItem方法来保存数据。如果我通过console记录这个:console.log(AsyncStorage.setItem(STORAGE_KEY));它像这样作为promise对象返回Promise{_45:0,_81:0,_65:null,_54: