我需要能够循环一个数字并返回一些jsx.例如
<ul>
{for(i =0; i < 10; i++){
return <li>{i}</li>
}}
</ul>
Run Code Online (Sandbox Code Playgroud)
这不是我想要做的,但如果我能解决这个问题,那么我应该能够完成我需要做的事情.然而,这会返回预期的表达式for.我做了一些研究,人们说你不能for在jsx中使用循环,因为它们不返回任何东西.
如何循环遍历数字以返回一定数量的jsx?
据我所知,这实际上并不适用于以这种方式做反应,因为它引用了一个具有recaptcha-container来自window对象的id的容器.原因是因为react使用bundle js脚本来加载其渲染数据.这就是为什么无论我把它放在哪里,我都会得到:reCAPTCHA container is either not found or already contains inner elements!
因此,如果我问如何在React中实现它而不是放置这些代码的位置可能会更好.如果有足够的人可以确认这一点,我也会编辑标题.
这可能是一个普遍的问题,但我还没有找到任何关于如何使用电话登录firebase和做出反应的信息.我不知道在哪里将这些代码放入我的反应项目中(在组件中,在根index.js内等...)如果我需要以不同的方式包含或提出这个问题,请告诉我,以便我可以更改它.就位置而言,这是我正在努力的代码:
window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container', {
'size': 'normal',
'callback': function(response) {
// reCAPTCHA solved, allow signInWithPhoneNumber.
// ...
},
'expired-callback': function() {
// Response expired. Ask user to solve reCAPTCHA again.
// ...
}
});
Run Code Online (Sandbox Code Playgroud)
我试着把它放在里面的一个组件中componentWillMount(),什么都没发生.我也尝试将它放在我的根index.js上面,reactDOM.render并得到类似的东西:
reCAPTCHA container is either not found or already contains inner elements!
再次请让我知道我可以添加到这个或如果我可以改善我的问题.
不完全确定我在这里做错了什么,我看过其他论坛上的帖子,这是他们说的要重新验证用户身份。但我收到以下错误:
TypeError: Cannot read property 'credential' of undefined 在此行上:
const credentials = fire.auth.EmailAuthProvider.credential(currentUser.email, user.currentPass);
这是代码:
const currentUser = fire.auth().currentUser;
const credentials = fire.auth.EmailAuthProvider.credential(currentUser.email, user.currentPass);
currentUser
.reauthenticateWithCredential(credentials)
.then(() => {
alert('Success');
})
.catch(err => {
alert(err);
});
Run Code Online (Sandbox Code Playgroud) 我有一个数组,其中有其他数组已被推入.举个例子:
const Arrays = [ [1,2,3], [4,5,6], [7,8,9], [2,1,3] ];
let myArr = [];
Arrays.map(arr => {
if(myArr.indexOf(arr)){
return
}
myArr.push(arr)
})
Run Code Online (Sandbox Code Playgroud)
const myArr = [ [1,2,3], [4,5,6], [7,8,9], [2,1,3] ];
在这个数组中,你可以看到有两个数组具有相同的数字1,2和3.我想以某种方式设置条件说:
如果此数组已存在,则不要再以任何顺序添加此数组以防止这种情况发生.因此,当循环中出现这组数字再次出现时,它将跳过它.
我正在将 reactplayer 用于使用 iframe 的 youtube 视频。我正在尝试将视频缩放到我的 div 并且我希望它具有响应性。
我在 ReactPlayer 上放了一个width和heightat 100%,我有一个包装 div,我在上面放了高度和宽度,但是 reactplayer 不适合这个 div。无论我如何调整屏幕大小,它都停留在 150px 的高度。
<div className="video-wrapper>
<ReactPlayer
width="100%"
height="100%"
url="https://youtu.be/BGhqlJnFIXU"
controls
muted
config={{
youtube: {
playerVars: { showinfo: 1 }
}
}}
/>
</div>
Run Code Online (Sandbox Code Playgroud)
.css
.video-wrapper {
height: 100%;
width: 100%;
min-height: 225px;
}
Run Code Online (Sandbox Code Playgroud) 我认为我一定以某种方式导入了这个错误,但我不确定。我按照github上的说明进行操作。它说我可以npm install,然后就可以了import swal from 'sweetalert2'。我还必须使用js和css文件吗?
发生的情况是,我在窗口左下角收到一个奇怪的警报,该警报不会消失。
这是我的代码:
import React, { Component } from 'react';
import swal from 'sweetalert2';
class TestSwal extends Component {
componentDidMount() {
swal({
title: 'Are you sure?',
text: 'You will not be able to recover this imaginary file!',
type: 'warning',
showCancelButton: true,
confirmButtonText: 'Yes, delete it!',
cancelButtonText: 'No, keep it'
}).then(
function() {
swal('Deleted!', 'Your imaginary file has been deleted.', 'success');
},
function(dismiss) {
// dismiss can …Run Code Online (Sandbox Code Playgroud) 我猜测您必须对重新验证进行某些操作才能删除电话号码,因为目前我正尝试这样做:
const user = firebase.auth().currentUser;
user.updateProfile({phoneNumber: null}).then(() => { alert('success') }).catch(err => {alert(err)})
这是行不通的,但是我获得了成功
我看到你可以使用 content 选项,但我现在不确定如何去做我有这样的事情:
swal({title: 'hello', text: 'hello ${<strong>{name}</strong>}', icon: 'success' })
javascript ×6
reactjs ×5
firebase ×3
sweetalert ×2
arrays ×1
auth0 ×1
css ×1
google-maps ×1
iframe ×1
node.js ×1
sweetalert2 ×1