在当前版本的React Router(v3)中,我可以接受服务器响应并使用它browserHistory.push来转到相应的响应页面.但是,这在v4中不可用,我不确定处理它的适当方法是什么.
在此示例中,使用Redux,在用户提交表单时调用components/app-product-form.jsthis.props.addProduct(props).当服务器返回成功时,用户将进入购物车页面.
// actions/index.js
export function addProduct(props) {
return dispatch =>
axios.post(`${ROOT_URL}/cart`, props, config)
.then(response => {
dispatch({ type: types.AUTH_USER });
localStorage.setItem('token', response.data.token);
browserHistory.push('/cart'); // no longer in React Router V4
});
}
Run Code Online (Sandbox Code Playgroud)
如何从React Router v4的功能重定向到Cart页面?
在提交表单之前,我还有一个额外的功能要执行.这不是诀窍.
$('form').submit( function(event) {
var formId = $(this).attr('id');
mySpecialFunction(formId);
event.preventDefault();
setTimeout( function () {
$(this).submit();
}, 300);
});
Run Code Online (Sandbox Code Playgroud)
这显然不起作用.
我安装了Pow with RVM,用于我正在开发的rails应用程序.没关系.这是现在所有人都说"Pow已安装"的其他网站.我确定这是一个简单的设置,但我无法找到它.有没有人遇到过这个?
我在Snow Leopard上运行MAMP.
我可以让我的记录重复使用foreach,但因为我正在使用CSS的网格系统,我想为每个(div class ="row")一次四个这些记录分组(div class ="column") .
我没有看到一个很好的例子,如何以这种方式包装每个记录.
有帮助吗?
我有一个只使用库的一部分的Three.js场景.
import {
Scene,
PerspectiveCamera,
WebGLRenderer,
BoxGeometry,
MeshBasicMaterial,
Mesh} from 'three';
Run Code Online (Sandbox Code Playgroud)
但是我仍然最终得到了整个图书馆(大约500Kb缩小版)的大部分内容(如果不是全部的话).有人有运气吗?我有一个示例GitHub,显示我正在使用的代码.
当我单击分页按钮时,焦点状态会在页面更新后保留在浏览器中.如何告诉该组件模糊?
这是我调用组件的地方.
<Paginate onClick={this.handleButtonClick.bind(this)} text="Prev"/>
Run Code Online (Sandbox Code Playgroud)
这是组件.
import React, { Component } from 'react';
class Paginate extends Component {
render() {
const {text} = this.props;
return(
<button onClick={this.props.onClick}>{text}</button>
)
}
}
export default Paginate;
Run Code Online (Sandbox Code Playgroud) 我可以使用jQuery编写这个Instagram API调用,但我不知道如何让Node和/或socket做同样的事情.有帮助吗?
function getData(url){
$.ajax({
url: url,
dataType :"jsonp",
success: function(data){
console.log('success');
console.log(data);
}
});
}
var tag = "myTag";
var accessToken = "myAccessToken"
var url = 'https://api.instagram.com/v1/tags/' + tag + '/media/recent?access_token=' + accessToken + '&callback=callBackFunction';
getData(url);
Run Code Online (Sandbox Code Playgroud) 在 Cinema4d 中,该模型是使用扫掠 nurb 中的两个圆圈制作的。一个圆是轮廓样条线,它沿着另一圆路径扫掠。使用 Sweep Nurbs,您可以指定开始和停止完成百分比和比例等。
有没有办法在三个js中重现这个?我想我可以将其导出到 STL,但我更喜欢 3.js 自己管理它的方法。
更新:
我设置了一系列 CircleGeometry 来旋转以获得这种效果。
var startR = .6,
incR = .0049;
for (var p = 0; p < 110; p++) {
var r = startR - (incR * p);
var geometry = new THREE.CircleGeometry(r, 12);
var material = new THREE.MeshBasicMaterial( { color: 0x000000 } );
material.side = THREE.DoubleSide;
geometry.applyMatrix( new THREE.Matrix4().makeTranslation( -7, 0, 0 ) );
var circle = new THREE.Mesh( geometry, material );
circle.rotation.y += p * 0.05 …Run Code Online (Sandbox Code Playgroud)$('.updateDescriptionProduct').click( function() {
if ( updateProductDescription(productID, description) == 'true') {
alert('success!');
} else {
alert('did not update');
}
});
function updateProductDescription(productID, description) {
$.ajax({
url: '/index.php/updateProductDescription',
global: false,
type: 'POST',
data: ({productID: productID, description: description}),
dataType: 'html',
async:false,
success: function(msg){
alert(msg);
return msg;
}
});
}
Run Code Online (Sandbox Code Playgroud)
函数本身说的是真的,但我的click事件又回来了undefined.
在这个例子中,我使用了knock.with require.js.
在Main.roll()之外,Main.result.push按预期工作.在函数内部,它抛出一个错误:Uncaught TypeError:无法读取未定义的属性'apply'.
我仍然可以在函数中访问Main.result().我可以为它设置值,但由于某种原因我不能使用.push.
define(['knockout', 'd20'], function(ko, d20) {
return function main() {
var Main = this;
Main.result = ko.observableArray('');
Main.result.push( d20.roll('2d8+2') ); // works
Main.roll = function() {
Main.result('');
Main.result.push( d20.roll('2d8+2') ); // no workie
}
}
});
Run Code Online (Sandbox Code Playgroud) javascript ×2
jquery ×2
knockout.js ×2
reactjs ×2
three.js ×2
ajax ×1
macos ×1
node.js ×1
rack-pow ×1
react-router ×1
requirejs ×1
rollupjs ×1
ruby ×1
webpack ×1