我正在尝试创建一个使用"使用Google登录"按钮来触发的React应用程序signInWithPopup(provider)
.但是,每次调用new firebaseApp.auth.GoogleAuthProvider()
我的控制台都会返回错误.我只是想console.log()
的result
.
firebase_setup.js未捕获的TypeError:_ firebase_setup2.default.auth.GoogleAuthProvider不是构造函数
import * as firebase from 'firebase';
const firebaseConfig = {
apiKey: "AIzaSyAKlWtFZvbvuNy2qC68Xt5xzaTQVyy9l2o",
authDomain: "doordash-ff045.firebaseapp.com",
databaseURL: "https://doordash-ff045.firebaseio.com",
storageBucket: "doordash-ff045.appspot.com",
};
const firebaseApp = firebase.initializeApp(firebaseConfig);
export default firebaseApp;
Run Code Online (Sandbox Code Playgroud)
login.js
import React, { Component } from 'react';
import { browserHistory } from 'react-router';
import firebaseApp from '../../../services/firebase_setup';
export default class Login extends Component {
componentDidMount() {
firebaseApp.auth().onAuthStateChanged(user => {
if (user) {
console.log(user);
browserHistory.push('/profile');
}
});
}
authenticate() { …
Run Code Online (Sandbox Code Playgroud) Home
如果用户已经登录,我的目标是将用户重定向到组件.我能够登录用户并Home
仅在_logInUser()
被调用时将其重定向到.但是,一旦重定向到Home
组件,如果我刷新模拟器,应用程序将返回到Login
组件.
我尝试使用componentWillMount()
和设置来解决这个问题let user = firebaseApp.auth().currentUser
.但是,我甚至登录user
到控制台,但似乎if
检查直接进入else
声明.我很感激任何见解!
这是我的代码(我react-native-router-flux
用于路由):
index.ios.js
import React, { Component } from 'react';
import { Scene, Router } from 'react-native-router-flux';
import {
AppRegistry,
} from 'react-native';
// Components
import Login from './components/user/login/login';
import Home from './components/user/home/home';
class AppName extends Component {
render() {
return (
<Router>
<Scene key="root">
<Scene key="login" component={Login} title="Login" hideNavBar={true} initial={true}/>
<Scene key="home" component={Home} title="Home"/> …
Run Code Online (Sandbox Code Playgroud) 我最近使用了在我的Meteor应用程序中安装了Material UI npm install --save material ui
我已经将<Header />
组件显示在我的app.js
文件中,但每当我添加其他组件时,localhost:3000
只需显示一个空白页面.请参阅下面的代码:
header.js
import React, { Component } from 'react';
import AppBar from 'material-ui/AppBar';
class Header extends Component {
render() {
return(
<AppBar
title="Header"
titleStyle={{textAlign: "center"}}
showMenuIconButton={false}
/>
);
}
}
export default Header;
Run Code Online (Sandbox Code Playgroud)
app.js
import React from 'react';
import ReactDOM from 'react-dom';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
import Header from './components/header';
import NewPost from './components/new_post';
const App = () => {
return (
<MuiThemeProvider>
<Header />
</MuiThemeProvider> …
Run Code Online (Sandbox Code Playgroud) 我在我的Staging
分支上有一个提交我想转到我的master
分支机构.我正在使用Mac的Github应用程序,我没有看到这样做的方法.
我知道如何在终端中执行此操作.
学习cherry-pick
Github应用程序中的方法会很好,因为我也喜欢使用它.
有什么建议?
我的浏览器在 devtools 控制台中记录了以下消息:
请求的资源上不存在“Access-Control-Allow-Origin”标头……响应的 HTTP 状态代码为 503。
背景:我有两个应用程序。一个是连接到 Mongo 数据库的 Express Node 应用程序。另一个是基本的 Web 应用程序,它POST
通过 Fetch API 向 Node 应用程序发出请求,以从 Mongo 获取数据。
问题:虽然我CORS
在本地机器上没有收到任何错误,但一旦我将基本 Web 应用程序部署到生产环境,就会出现以下错误。POST
向 Node 应用程序发出请求并给我以下信息的 Web 应用程序:
该POST
请求似乎确实有效,并且数据已保存到 Mongo 中,但此错误在 Heroku 中被标记为“严重错误”并且非常烦人。
我意识到我可以no-cors
在 Fetch 中设置该选项,但我相信它是必需的,因为我正在向与原点不同的 url 发出请求。对?
Express 节点应用程序代码
在我的app.js
文件中,我设置了正确的标头以确保其他应用程序可以从不同来源发出请求
应用程序.js
// Add headers so we can make API requests
app.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); …
Run Code Online (Sandbox Code Playgroud) 好的,这就是我想要完成的事情:
INSERT
模式中,我希望emmet能够使用TAB
密钥自动完成这是我尝试过的
let g:user_emmet_expandabbr_key = '<tab>'
(仅适用于NORMAL
模式)虽然上面的代码很有用,但我需要它在INSERT
模式下工作
我正在从Sublime Text转移到VIM,我错过了Emmet功能,因此很容易访问.关于如何实现这一点的任何想法?
提前致谢.
我正在使用stripe gem for rails,我正在尝试检查用户的优惠券代码是否无效.如果代码无效,则将用户重定向到users/show.html.haml
这是我的代码
if Stripe::Coupon.retrieve(current_user.coupon_code) == nil
redirect_to user_path(current_user)
end
Run Code Online (Sandbox Code Playgroud)
我认为从Stripe检索代码并检查值是否nil
可行但我收到的错误消息是:
Stripe::InvalidRequestError in SubscribersController#new
No such coupon: *Whatever the invalid coupon name is (ex. "ASDF")*
Run Code Online (Sandbox Code Playgroud)
想知道这里发生了什么?我查看了Ruby的Stripe文档,但没有看到有关如何检查代码是否无效的任何信息.还有另一种检查代码是否相等的方法nil
吗?
上下文:我有一个Post
Mongoose模型,其中包含一个csv_files
用于存储csv字符串的数组字段。我fetch
从其他Web应用程序发出API请求以发布特定的csv字符串Post
。
下面的代码产生一个错误
UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:2):VersionError:找不到ID为“ 5966932399e969ad8013bedf”的匹配文档
router.js
router.post('/posts/:url/upload-csv/:csv_name', (req, res) => {
let csv_name = req.params.csv_name;
let csv_string = csv_name+req.body.csv_string;
Post.findOne({url: req.params.url})
.then((post) => {
if (post.csv_files.length === 0) {
post.csv_files.push(csv_string);
} else {
let foundExistingCSV = false;
for (var i = 0; i < post.csv_files.length; i++) {
if (post.csv_files[i].includes(csv_name)) {
foundExistingCSV = true;
post.csv_files[i] = csv_string;
break;
}
}
if (!foundExistingCSV) post.csv_files.push(csv_string);
}
post.markModified('csv_files');
post.save();
return res.status(200);
})
.catch((err) => {
console.log(err); …
Run Code Online (Sandbox Code Playgroud)