我对何时调用react组件中的函数有疑问.有时我的代码会在我没有将括号添加到函数调用时中断,但并非总是如此.我在这里缺少某种规则吗?
不行
// Callback of parent component
<Link onClick={this.props.OnNavigate}>
A link
</Link>
Run Code Online (Sandbox Code Playgroud)
有用吗
// Callback of parent component
<Link onClick={this.props.OnNavigate()}>
A link
</Link>
// Callback for function of component
<li onClick={this.toggleDepartments}>other example</li>
Run Code Online (Sandbox Code Playgroud) 当我尝试使用以下代码递归地设置空对象的属性时,我偶然发现了一个奇怪的问题:
简化代码
const birthdays = {};
// Loop -> Passing day, id and birthday
birthdays[day] = day;
birthdays[day][id] = birthday;
Run Code Online (Sandbox Code Playgroud)
一天的例子: '01012017'
id的示例: 1547
生日示例: {name: John}
错误信息
Cannot create property '123' on string '06012017'
Run Code Online (Sandbox Code Playgroud)
我看到一些Angular有这个问题的人,但他们的答案并没有为我解决任何问题(如角度特定语法等).
我目前正面临一个奇怪的问题,即withRouter提供的HOC react-router没有将道具传递给mapStateToProps函数.我在这做错了吗?
import React, { Component } from 'react';
import { Link, withRouter } from 'react-router';
import { connect } from 'react-redux';
class ThisClass extends Component {
render() {
console.log(this.props.router); // Returns object with router keys (params, router, go, routes, ...)
// Render stuff
}
}
const mapStateToProps = (state, props) => {
console.log(state); // returns state of redux
console.log(props); // returns empty object -> {}, how come this is empty?!
return {
consultations: patientThisClassSelector(state, props)
}; …Run Code Online (Sandbox Code Playgroud) 我momentjs用来确定日期是否是一个人的生日。但由于某种原因moment总是返回false,我不知道为什么。
使用的代码
moment(dateObject).isSame(moment(otherDateObject), 'day')
Run Code Online (Sandbox Code Playgroud)
记录个人日期和日期时返回什么 isSame()
关于这里的问题的任何想法?正如您所看到的,这两个时刻实例的唯一区别是年份。
来自momentjs
传入 day 将检查日、月和年
那么我如何检查它是否是匹配的日期和月份呢?
当尝试使用gulp-webpack将jsx / js转换为浏览器级别时,我一直收到此问题。
我已经将NPM和nodeJS更新为当前最新版本(3.8.9和6.1.0)
它输出的错误是:
找不到输入模块中的错误:错误:无法在C:\ xampp \ htdocs \ project \ tools中解析模块'babel'
奇怪的是,它正在正确的文件夹中查找(node_modules文件夹在此目录中),但根本找不到它。
我的文件夹结构分为3个文件夹,分别是
所述应用程序文件夹中包含的浏览器级代码(JS / CSS)
在src文件夹中包含高级语言(SCSS / JSX)
该文件夹工具包含我gulpfile,node_modules,的package.json,bower.json和bower_components
我的gulp任务,用于将jsx / js转换为浏览器级别
gulp.task('react', function() {
return gulp.src('../src/js/react/index.js')
.pipe(webpack({
entry:
{
app: './../src/js/react/index.js'
},
output: {
path: __dirname + "../app/js/react",
publicPath: '/',
filename: 'bundle.js'
},
module: {
loaders: [{
exclude: /(node_modules|bower_components)/,
loader: 'babel',
cacheDirectory: true,
query: {
presets: [
'babel-preset-es2015',
'babel-preset-react'
].map(require.resolve)
}
}]
},
resolveLoader: {
modulesDirectories: [ …Run Code Online (Sandbox Code Playgroud) 我正在构建react和redux应用程序时,我想知道这一段时间了.一个人手动更改redux和/或反应状态有多容易?我无法在任何地方找到相关文档,并且很想知道安全问题等.
redux状态的示例
{
firstName: 'Foo',
lastName: 'Bar',
permissions: {
'admin': false
}
}
Run Code Online (Sandbox Code Playgroud)
他们是否能够改变或影响admin许可,并将其设置为true?
如果他们可以改变它,它会被减速器等接受吗?
我正在尝试创建一个 axios 实例,axios.create()但似乎无法弄清楚如何在实例上设置默认方法。
不管用
export default axios.create({
request: {
method: 'post'
},
baseURL: apiPath,
responseType: 'json'
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置我的第一个Bitbucket管道,该管道仅使用以下命令构建应用程序并将其部署到FTP服务器 bitbucket-pipelines.yml
image: node:6.9.4
pipelines:
default:
- step:
caches:
- node
script:
- npm install
- npm test
- step:
script:
- npm run build
- node deploy.js
Run Code Online (Sandbox Code Playgroud)
问题在于,npm install因为当bitbucket尝试运行npm run build命令时,它说rimraf未找到(一个npm软件包)。rimraf然而,被列入我的devDependencies,所有常规dependencies在我package.json的正确下载。
我没有设置全局变量,所以NODE_ENV不是吗?
我是vscode的新手,但是我已经设置了我需要的所有东西。还缺少的一件事是className自定义jsx标记上的属性的自动完成功能(也称为react components)。在自定义标签上,它根本不建议任何内容。
我尝试搜索可以执行此操作的任何扩展程序,但找不到任何扩展程序,我在这里缺少什么吗?
我想知道如何获取division大多数 api 调用所需的确切在线平台。
另外,文档表明我曾经api/v1/current/Me是第一个调用,但是在运行时我收到以下内容(这是无用的):
array(3) { ["url"]=> string(46) "https://start.exactonline.be/api/v1/current/Me" ["request"]=> array(0) { } ["response"]=> NULL }
Run Code Online (Sandbox Code Playgroud) 我在创建与mysql数据库行对应的一堆东西的代码时遇到了麻烦.它需要继续创建内容,直到使用所有行然后停止.
当前存在的行数为5
但由于某种原因,php文件导致浏览器继续加载(它永远不会结束).任何帮助,将不胜感激!谢谢!
问题不在于这个PHP文件,而是在我的HTML代码中,感谢大家的帮助
<?php
mysql_connect ("localhost", "root", "") or die ("We couldn't connect!");
mysql_select_db ("dr");
mysql_query ("SELECT * FROM songs");
$result = mysql_query ("SELECT * FROM songs");
while ($row=mysql_fetch_array($result)) {
$name = $row ['songname'];
$genres = $row ['songgenres'];
$mediafire = $row ['mediafirelink'];
$dropbox = $row ['dropboxlink'];
$source = $row ['audiosource'];
echo "
<div class='playing'>
<!-- ======== Song Name ======== -->
<li class='songnameli' id='$source'>
<span class='info'>$name</span>
<audio>
<source src='music/singles/$source.mp3'>
<source src='music/singles/$source.ogg'>
</audio>
</li>
<!-- ======== Playlist ======== -->
<li class='playlistli'> …Run Code Online (Sandbox Code Playgroud) 我目前正在react-transition-group与react-router-dom使用来动画路线更改,并且效果很好。
我遇到的唯一问题是,当切换路由并且我需要在componentDidMount生命周期挂钩中发送或获取一些数据时,它会触发两次。我相当确定这是由于react-transition-group但我想知道是否有一个明显的解决方案来解决这个问题。
我发现这一点是因为它在数据库中插入了两次实体,这与预期的行为相去甚远。
reactjs ×5
javascript ×2
react-router ×2
axios ×1
babeljs ×1
database ×1
exact-online ×1
gulp ×1
gulp-webpack ×1
momentjs ×1
mysql ×1
npm-install ×1
php ×1
react-redux ×1
redux ×1
security ×1
webpack ×1
while-loop ×1