小编vid*_*mes的帖子

反应输入元素:值与默认值

我是React和REDUX的新手,我只是开发一个简单的反应应用程序,现在我遇到一个问题,当我在我的组件中渲染一个输入元素如果我设置元素"值"它变成只读但是如果我设置了"defaultValue"上的值,当我重新更新状态时,它永远不会再次更新.

这是我的代码:

    import React from "react";
    export default class EditForm extends React.Component {

    editTransaction(event) {

        var transaction = this.props.transaction;

        event.preventDefault();
        var NewTransaction = {
            transactions_data: {
                amount: this.refs.amount.value
            }
        }

        this.props.editTransaction(NewTransaction, transaction.id);
    }

    closeForm() {
        this.props.closeForm();
    }

    render() {
        var {amount}=this.props.transaction;
        return (
            <div>
                <br/>
                <h4>Edit Transaction</h4>
                <div className="btn btn-danger pull-right" onClick={this.closeForm.bind(this)}>close</div>
                <div className="clearfix"></div>
                <form onSubmit={this.editTransaction.bind(this)}>
                    <div>
                        <label for="amount">Amount</label>
                        <input value={amount} onChange={(value) => this.onChange(value)} className="form-control"
                               id="amount" name="amount" type="number"
                               ref="amount"/>
                    </div>
                    <br/>
                    <br/>
                    <input className="btn btn-info" type="submit" value="submit"/>
                </form>
            </div>
        ); …
Run Code Online (Sandbox Code Playgroud)

javascript frontend reactjs

24
推荐指数
1
解决办法
4万
查看次数

使用 docker swarm 的高可用性数据库 ( postgresql )

我是 docker 新手,有时只是学习 docker,因为我正在使用 LAPP(Linux、Apache、PHP 和 PostreSQL)堆栈,并且始终使用整体架构,其中所有内容都放在一个服务器/vps 中。

在了解了 docker 之后,我的想法发生了很大的变化,现在我将尝试如何将堆栈容器化。当我进入数据库时​​,我想如果我在群模式下实现了 docker,当我扩展它时,数据库可以在我的工作节点中自动复制或同步..但事实上它没有。这是我用来重现场景的 .yml 文件。

version: "3"
services:
  db:
    image: postgres:9.5
    container_name: db
    restart: always
    tty: true
    ports:
      - "5432:5432"
    environment:
      POSTGRES_PASSWORD: mydocker_pass
      POSTGRES_USER: mydocker_user
      POSTGRES_DB: mydocker
    volumes:
      - db-data:/var/lib/postgresql/data
volumes:
  db-data:
Run Code Online (Sandbox Code Playgroud)

第一次我只是在我的内部创建一个容器swarm-manager,但后来我用这个命令扩展了这个服务,docker service scale db_stack_db=2它工作得很好,现在新的容器正在我的工作节点中运行。在我的worker节点中,我也有与我的manager节点中已有的相同的卷,但遗憾的是,当我在db节点中写入某些内容时manager,它不会显示在我的worker节点中,反之亦然,尽管它们具有相同的卷名称,并且预-创建的数据库:mydocker并且还具有相同的数据库用户:mydocker_user和db_password mydocker_password,这意味着节点中的实例worker不与manager节点同步。

那么如果这里有人经历过这种情况,请帮助我,请与我分享你的想法,群体模式的最佳实践是什么?我是否只需为数据库放置一个节点,因为如果我扩展数据库并且它在该worker节点中运行,它是否有用并有助于数据库服务的负载?manager因为它和节点之间没有相同的数据worker

问候。

database postgresql docker docker-swarm devops

5
推荐指数
0
解决办法
3807
查看次数

如何在NuSoap中处理数组ComplexType?

目前我使用的是PHP版本5.4.16和NuSoap 0.95,我试过这个例子: 这里

它显示了这样的服务器代码;

$server->wsdl->addComplexType(
    'Chapter',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'title' => array('name'=>'title','type'=>'xsd:string'),
        'page' => array('name'=>'page','type'=>'xsd:int')
    )
);

$server->wsdl->addComplexType(
    'ChapterArray',
    'complexType',
    'array',
    '',
    'SOAP-ENC:Array',
    array(),
    array(
        array('ref'=>'SOAP-ENC:arrayType','wsdl:arrayType'=>'tns:Chapter[]')
    ),
    'tns:Chapter'
);

$server->wsdl->addComplexType(
    'Book',
    'complexType',
    'struct',
    'all',
    '',
    array(
        'author' => array('name'=>'author','type'=>'xsd:string'),
        'title' => array('name'=>'title','type'=>'xsd:string'),
        'numpages' => array('name'=>'numpages','type'=>'xsd:int'),
        'toc' => array('name'=>'toc','type'=>'tns:ChapterArray')
    )
);

$server->register(
    'getBook',
    array('title'=>'xsd:string'),
    array('return'=>'tns:Book'),
    $NAMESPACE);

function getBook($title) {
     // Create TOC
     $toc = array();
     $toc[] = array('title' => 'Chapter One', 'page' => 1);
     $toc[] = array('title' => 'Chapter …
Run Code Online (Sandbox Code Playgroud)

php web-services nusoap complextype

2
推荐指数
1
解决办法
1万
查看次数

如何在ReactJS + REDUX中输入索引路径之前重定向到登录页面

我真的很新做出反应,现在我想在进入任何路线之前实施登录页面,我目前正在使用:

React:15.4.2,React-DOM:15.4.2,React-Redux:5.0.4,我使用webpack和es2015作为我的预设.

我已经做了很多谷歌搜索,但我仍然没有找到任何解决方案,这里是当前的源代码:for index.js:

import React from "react";
import ReacrDOM from "react-dom";
import {Router, Route, IndexRoute, hashHistory} from "react-router"
import {Provider} from "react-redux";

import store from "./store";
import Layout from "./pages/Layout";
import Dashboard from "./pages/Dashboard";
import Login from "./pages/login/index";
import User from "./pages/user/index";
import EnsureLoggedIn from "./EnsureLoggedIn";

const app = document.getElementById("app");

ReacrDOM.render(
    <Provider store={store}>
        <Router history={hashHistory}>
            <Route path="/login" component={Login}/>
            <Route component={EnsureLoggedIn}>
                <Route path="/" component={Layout}>
                    <IndexRoute component={Dashboard}/>
                    <Route path="user" component={User}/>
                </Route>
            </Route>
        </Router>
    </Provider>
    , app);
Run Code Online (Sandbox Code Playgroud)

这是我的Dashboar组件:

import React from "react"; …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router redux react-redux

2
推荐指数
1
解决办法
2万
查看次数